Как использовать триггер ServiceBus с темой / подпиской в ​​функции Azure

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

На данный момент я создал функцию Azure, используя Шаблон ServiceBusQueueTrigger C #, и я установил для имени очереди значение

topicPath + "/Subscriptions/" + subscriptionName

Шаблон C # ServiceBusQueueTrigger в Службах Azure

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

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

Не удалось создать ServiceBusTrigger с темой / подпиской в ​​функции Azure

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

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


person Thomas    schedule 19.04.2016    source источник


Ответы (1)


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

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

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

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

person mathewc    schedule 19.04.2016
comment
Потрясающие ! Значит, должно быть то же самое, если я хочу использовать привязку sendGrid? В любом случае я попробую. - person Thomas; 19.04.2016
comment
Мы еще не перенесли SendGrid в функции. Однако вы второй, кто спросил, так что мы должны сделать это в ближайшее время :) У нас есть эта проблема, отслеживаемая здесь: github.com/Azure/azure-webjobs-sdk-script/issues/132 - person mathewc; 19.04.2016
comment
Следует ли мне создавать новую задачу в sdk webjob: github.com/Azure/azure-webjobs -sdk / issues? - person Thomas; 19.04.2016