我想创建一个Azure主题,在将新消息添加到主题/订阅时触发该功能。
目前我已使用 ServiceBusQueueTrigger C#模板创建了Azure Function,并且我已将队列名称设置为
topicPath + "/Subscriptions/" + subscriptionName
但是我有这个例外:
Microsoft.ServiceBus:无法获取实体' topic-test / Subscriptions / subscription-test'因为它不是 QueueDescription 类型。检查您使用的是具有正确实体类型的方法。 System.Runtime.Serialization:第1行位置错误1762.期待元素' QueueDescription'来自命名空间' http://schemas.microsoft.com/netservices/2010/10/servicebus/connect' ..遇到'无'名称'',名称空间''。
我认为Azure功能正在使用MessagingFactory.CreateMessageReceiver初始化消息泵而不是。
目前是否有对主题/订阅的支持?
答案 0 :(得分:5)
支持是的主题,但不幸的是我们的用户界面和模板落后于此 - 我们将很快发布一些更新来解决这些问题。
目前,您可以使用“高级编辑器”直接编辑触发器绑定。在那里,您可以指定subscriptionName
和topicName
值。这是一个例子:
{
"bindings": [
{
"type": "serviceBusTrigger",
"name": "message",
"direction": "in",
"subscriptionName": "subscription-test",
"topicName": "topic-test",
}
]
}
通常,由于Azure Functions是在WebJobs SDK上构建的,因此我们的各种绑定将直接映射到它们的SDK对应物。例如,serviceBusTrigger
映射到具有SubscriptionName
/ TopicName
属性的ServiceBusTriggerAttribute。因此,期望在Function元数据模型中看到相同的属性。