Я пытаюсь создать следующий процесс:
IoT-устройство отправляет сообщение в IoT Hub , которое, в свою очередь, если сообщение содержит какое-либо значение, запускает уведомление всем зарегистрированным устройствам Android через Центр уведомлений .
Сначала мне все равно, каково содержание самого сообщения, и я просто хочу вызватьуведомление о каждом входящем сообщении.
Мне удалось настроить устройство IoT и подключить его к концентратору IoT.Мне также удалось настроить Центр уведомлений и подключить его к приложению для Android таким образом, чтобы при использовании «тестовой отправки» в Центре уведомлений на устройство Android поступало уведомление.
Чтобы соединить оба конца (IoT Hub и Notification Hub), я попытался выполнить следующее руководство: https://www.developer.com/ws/android/sending-notifications-to-mobile-apps-from-azure-function-apps.html
Кроме того, я добавил маршрутизацию из IoT Hub в соответствующую очередь в службешина.
Теперь, когда устройство IoT отправляет сообщение в концентратор, я вижу, что очередь получает сообщение.Однако я не могу использовать очередь для запуска уведомления.
Добавленная мной функция ServiceHubQueueTrigger
имеет следующую ошибку на портале:
Error:
Function (ServiceBusQueueTrigger1) Error: The binding type(s) 'notificationHub' are not registered. Please ensure the type is correct and the binding extension is installed.
Ее function.json
выглядит так:
{
"bindings": [
{
"name": "myQueueItem",
"type": "serviceBusTrigger",
"direction": "in",
"queueName": "notificationqueue",
"connection": "ServiceBusConnection",
"accessRights": "manage"
},
{
"name": "notification",
"type": "notificationHub",
"hubName": "<hub-name>",
"connection": "NotificationConnString",
"platform": "gcm",
"tagExpression": "",
"direction": "out"
}
]
}
, где hub-name
- это имя Notification Hub.
Как я могу запускать уведомления для устройств Android через очередь?Есть ли способ вызвать их напрямую из функции IoT Hub Event Trigger
?
Спасибо!