Есть ли способ расширить IoT Hub Device Twin без использования других вариантов хранения? - PullRequest
0 голосов
/ 14 апреля 2020

В последнее время я боролся за то, чтобы уменьшить зависимости моего приложения-функции. Я хотел бы уменьшить некоторые зависимости от базы данных (а также ее авторизации).

Поэтому я подумал о том, чтобы поместить некоторые данные, необходимые для Function App, в Device Twin, так как телеметрическое сообщение будет go через IoT Hub, а затем достигнет Function App, и, поместив их в Device Twin, я мог бы использовать Message Обогащение для маркировки их в свойствах сообщения телеметрии.

Данные, необходимые для каждого устройства, могут быть большими или маленькими. Однако недавно я обнаружил, что у устройства-близнеца есть ограничения размера в 32 КБ для свойств и 8 КБ для тегов. Для некоторых устройств это может превышать предел.

Кроме этого, я также нашел способ расширить двойник устройства с помощью хранилища BLOB-объектов. Но разве это не было бы повторением хранилища? (Неважно, в хранилище BLOB-объектов или в кэше Redis).

Я хотел бы спросить сообщество, есть ли другой способ, позволяющий моему функциональному приложению хранить эти данные (без подключения к базе данных) и не повторять параметры хранения.

Спасибо.

1 Ответ

1 голос
/ 14 апреля 2020

На самом деле это два вопроса: 1. Как расширить Device Twin 2. Как передать данные моей функции, которых нет в Device Twin, без необходимости искать их

Если я правильно прочитал вашу проблему, Вы ищете решение второй проблемы. Для этого есть решение:

Вы можете добавить данные к сообщению между IoT-концентратором и приложением-функцией с помощью Stream Analytics. Stream Analytics имеет опцию справочных данных , которую можно использовать для присоединения к сообщению перед его отправкой в ​​качестве вывода. Это означает, что вашей функции не нужно будет go обращаться к базе данных, чтобы получить данные, и вам не нужно дублировать свое хранилище. Ваше задание Stream Analytics будет иметь концентратор IoT в качестве входных данных и вашу функцию в качестве выходных данных. Запрос объединяет справочные данные из базы данных с входящим сообщением и использует их в качестве выходных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...