Как запустить функцию Azure из центрального правила IoT?

#azure-iot-central

#azure-iot-central

Вопрос:

Я использую Microsoft IoT Central и использую его правила для запуска действий.

При запуске правила можно выбрать ряд действий, таких как электронная почта, Webhook, приложения Logic, а также Power Automate. Я пробовал использовать их все без каких-либо проблем. Теперь я пытаюсь определить простую функцию NodeJS Azure, которая должна запускаться всякий раз, когда запускается центральное правило IoT.

Чего я не понимаю, так это как настроить ее сквозную с помощью функции Azure. Нельзя выбрать какую-либо существующую функцию из центрального действия IoT в меню правила, но вместо этого указывается на создание новой функции.

Когда я пытаюсь сделать это из Azure, нет никакого шаблона функции «IoT Central», который есть, например, для IoT Hub или HTTP Trigger.

Итак, как мне «подключить» новую функцию Azure для запуска из центрального правила IoT?

введите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесь

Ответ №1:

Запуск функции Azure из IoT Central выполняется путем создания функции с HTTP-триггером и использования действия Webhook для ее запуска.

настройка webhook

Процесс задокументирован здесь

Обновление: на вашем скриншоте я вижу, что вы используете более старую версию IoT Central. В этой версии функции Azure упоминаются как отдельное действие, но на самом деле это было просто использование webhook. Функции Azure как отдельное действие были удалены в более поздней версии, когда вы выбираете Webhook, это упоминается в качестве опции (как на скриншоте выше).

Комментарии:

1. Спасибо, Маттейс! Да, это один из способов сделать это. Но если это предполагаемый способ, почему и Webhook, и Azure участвуют в выборе действий на выбор в центральном правиле IoT? Я предполагаю, что выбор параметра функции Azure отличается от параметра Webhook.

2. Извините, должен был объяснить: снимок экрана, который я сделал, взят из текущей версии IoT Central. Похоже, вы используете устаревшую версию, где функции Azure действительно упоминаются как отдельный триггер, но на самом деле это просто еще один веб-хук. В текущей версии функции больше не упоминаются отдельно. Предполагаемый способ — Webhook. Я обновлю свой ответ, чтобы включить это.

3. Ага! Вы правы, я просто склонен думать, что устаревшая версия намного проще для понимания. Большое спасибо за ваш быстрый ответ, хороший материал.

4. Это определенно было, просто менее мощно. Однако теперь также появились новые опции для управления. Не могли бы вы пометить ответ как принятый?

5. Безусловно, как мне пометить это как принятое? И по той же теме, что и выше — легко настроить функцию Azure, запускаемую HTTP. Однако я хотел бы создать сообщение в формате JSON, основанное на выводе веб-узла IoT Central, которое будет размещено на служебной шине для дальнейшей последующей обработки. Вы знаете лучший способ сделать это? Некоторые, похоже, столкнулись с трудностями, поскольку функция запуска HTTP объявлена асинхронной и не поддерживает исходящие привязки.