1

我想创建一个在将新消息添加到主题/订阅时触发的 Azure 函数。

目前,我使用 ServiceBusQueueTrigger C# 模板创建了一个Azure 函数,并将队列名称设置为

topicPath + "/Subscriptions/" + subscriptionName

Azure Functions ServiceBusQueueTrigger C# 模板

但我有这个例外:

Microsoft.ServiceBus:无法获取实体 'topic-test/Subscriptions/subscription-test',因为它不是QueueDescription类型。检查您使用的方法是否具有正确的实体类型。System.Runtime.Serialization:第 1 行位置 1762 中的错误。期望来自命名空间“ http://schemas.microsoft.com/netservices/2010/10/servicebus/connect ”的元素“QueueDescription” 。遇到名称为“None”的“无” ',命名空间''。.

无法在 Azure 函数中创建具有主题/订阅的 ServiceBusTrigger

我认为 Azure 函数正在使用MessagingFactory.CreateMessageReceiver来初始化消息泵,但不是。

目前是否支持主题/订阅?

4

1 回答 1

6

是的,支持主题,但不幸的是,我们的 UI 和模板落后了 - 我们将很快发布一些更新来解决这些问题。

现在,您可以使用高级编辑器直接编辑触发器绑定。在那里您可以指定您的subscriptionNametopicName值。这是一个例子:

{
  "bindings": [
    {
      "type": "serviceBusTrigger",
      "name": "message",
      "direction": "in",
      "subscriptionName": "subscription-test",
      "topicName": "topic-test",
    }
  ]
}

通常,由于 Azure Functions 是在 WebJobs SDK 之上构建的,因此我们的各种绑定直接映射到其对应的 SDK。例如serviceBusTrigger映射到具有/属性的ServiceBusTriggerAttribute 。因此,期望在函数元数据模型中看到相同的属性。SubscriptionNameTopicName

于 2016-04-19T15:05:54.237 回答