Как указать NotificationHub в качестве выходного триггера для функций Azure в Visual Studio

Как указать выходной параметр для функции Azure, разработанной в Visual Studio для NotificationHub: моя функция выглядит так:

        [FunctionName("DoSomething")]
        public static void Run(
            [ServiceBusTrigger("myqueue", AccessRights.Manage, Connection = _Connection)]string queueItem, 
            TraceWriter log,
            [????] IAsyncCollector<Notification> notification)
        {
         //.....   
        }

Функция Azure в azure.portal имеет json с конфигурацией вывода, но в коде в Visual Studio у нее нет декоратора, такого как NotificationHub, похожего на указание вывода очереди: [Queue("myQueueName", Connection = "myconnection")] IAsyncCollector<Notification> notification. Как определить выходной параметр, содержащий информацию, отображаемую на портале?

   {
      "type": "notificationHub",
      "name": "notification",
      "hubName": "mynotification-hub",
      "connection": "CONNECTION",
      "direction": "out",
      "tagExpression": "{Tag}"
    } 

person Devsined    schedule 25.10.2017    source источник


Ответы (1)


Вам необходимо установить Microsoft.Azure.WebJobs.Extensions.NotificationHubs пакет NuGet.

Затем используйте триггер, например

[NotificationHub] out Notification notification

or

[NotificationHub(HubName = "mynotification-hub", ConnectionStringSetting = "CONNECTION", 
                 TagExpression = "{Tag}")] IAsyncCollector<Notification> notification

Дополнительные сведения см. в документах.

person Mikhail Shilkov    schedule 25.10.2017
comment
Привет, я получаю странную ошибку, когда процесс или функция cli добавляет AzureWebJobs в качестве префикса моих строк подключения, а затем, как это соединение не существует, я получаю и получаю ошибку: Run: Microsoft.Azure.WebJobs.Host: Error indexing method 'NotifyMobiles .Бежать'. Microsoft.Azure.WebJobs.ServiceBus: Строка подключения Microsoft Azure WebJobs SDK ServiceBus «AzureWebJobsSERVICEBUS» отсутствует или пуста. - person Devsined; 25.10.2017
comment
Обычно работает для других привязок, но сейчас у меня нет привязки уведомлений. Попробуйте добавить эту строку подключения с длинным именем в конфигурацию? - person Mikhail Shilkov; 25.10.2017