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 绑定。