1

Я хотел бы создать Azure Function, которая запускается, когда новое сообщение добавляется в тему/подписку.Как использовать триггер ServiceBus с темой/подпиской в ​​функции Azure

На данный момент я создал Azure Function используя ServiceBusQueueTrigger C# шаблон и я установить имя очереди для

topicPath + "/Subscriptions/" + subscriptionName 

Azure Functions ServiceBusQueueTrigger C# Template

Но у меня это исключение:

Microsoft.ServiceBus: не удается получить тему "тема-тест/подписки/подписка-тест", потому что это не тип QueueDescription. Убедитесь, что вы используете метод (ы) с правильным типом объекта. System.Runtime.Serialization: ошибка в позиции 1 строки 1762. Ожидающий элемент «QueueDescription» из пространства имен «http://schemas.microsoft.com/netservices/2010/10/servicebus/connect» .. Обнаружен «Нет» с именем «», пространство имен ». ,

Failed to create ServiceBusTrigger with Topic/Subscription in an Azure Function

Я думал, что Azure функция использовала MessagingFactory.CreateMessageReceiver инициализировать сообщение насос, но не так.

Есть ли поддержка по теме/подписке на данный момент?

ответ

5

Да, темы поддерживаются, но наш пользовательский интерфейс и шаблоны, к сожалению, отстают в этом, мы вскоре выпустим некоторые обновления для решения этих проблем.

В настоящее время вы можете использовать расширенный редактор, чтобы напрямую отредактировать привязку триггера. Там вы можете указать свои значения subscriptionName и topicName. Вот пример:

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

В общем, так как Azure функций строится на вершине WebJobs SDK, наши различные привязки отображаются непосредственно к их SDK аналоги. Например, serviceBusTrigger соответствует ServiceBusTriggerAttribute, который имеет SubscriptionName/TopicName Недвижимость. Поэтому ожидаем увидеть те же свойства в модели метаданных Function.

+0

Awesome! Так должно быть то же самое, если я хочу использовать привязку sendGrid? В любом случае, я попытаюсь. – Thomas

+0

Мы еще не вытащили SendGrid в функции. Вы второй человек, который задал вопрос, поэтому мы должны сделать это в ближайшее время. У нас есть эта проблема, которая отслеживается здесь: https://github.com/Azure/azure-webjobs-sdk-script/issues/132 – mathewc

+0

Должен ли я создать новую проблему в webjob sdk: https://github.com/Azure/azure-webjobs-sdk/issues? – Thomas