Azure 函数:服务总线输入绑定(非触发器)
Azure Function: Service Bus input binding (not trigger)
是否可以为我的 azure 函数定义输入绑定以连接到服务总线 queue/topic?
我可以想象类似的东西
但我还不能让它适用于服务总线,而且我没有在网上看到示例。
我正在寻找 QueueClient
and/or QueueDescription
class 的实例。
该函数的用例是 return 基于 HTTP 触发器和查询参数中的名称的队列大小。
根据概述部分中的 this table,不支持服务总线 queues/topics 的输入绑定。
不,我们目前不支持像 Azure 队列那样的 NamespaceManager
/QueueClient
输入绑定。但是,您可以直接在您的函数中使用 ServiceBus SDK 自行轻松完成此操作,w/o 无需引入任何其他包。例如
#r "Microsoft.ServiceBus"
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.ServiceBus;
using Microsoft.ServiceBus.Messaging;
public static void Run(string input, TraceWriter log)
{
var connectionString = Environment.GetEnvironmentVariable("<connection>");
var nsmgr = NamespaceManager.CreateFromConnectionString(connectionString);
long count = nsmgr.GetQueue("myqueue").MessageCount;
log.Info($"Message count {count}");
}
关于存储队列的文档不完全正确,我之前记录了一个问题 here to address that. I've also logged a new issue here 以便我们扩展我们的 ServiceBus 绑定。
是否可以为我的 azure 函数定义输入绑定以连接到服务总线 queue/topic?
我可以想象类似的东西
我正在寻找 QueueClient
and/or QueueDescription
class 的实例。
该函数的用例是 return 基于 HTTP 触发器和查询参数中的名称的队列大小。
根据概述部分中的 this table,不支持服务总线 queues/topics 的输入绑定。
不,我们目前不支持像 Azure 队列那样的 NamespaceManager
/QueueClient
输入绑定。但是,您可以直接在您的函数中使用 ServiceBus SDK 自行轻松完成此操作,w/o 无需引入任何其他包。例如
#r "Microsoft.ServiceBus"
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.ServiceBus;
using Microsoft.ServiceBus.Messaging;
public static void Run(string input, TraceWriter log)
{
var connectionString = Environment.GetEnvironmentVariable("<connection>");
var nsmgr = NamespaceManager.CreateFromConnectionString(connectionString);
long count = nsmgr.GetQueue("myqueue").MessageCount;
log.Info($"Message count {count}");
}
关于存储队列的文档不完全正确,我之前记录了一个问题 here to address that. I've also logged a new issue here 以便我们扩展我们的 ServiceBus 绑定。