Java-функция Azure на основе deviceTwinTrigger: получение идентификатора устройства - PullRequest
0 голосов
/ 16 января 2019

Следуя этому руководству: https://docs.microsoft.com/nl-nl/azure/azure-functions/functions-bindings-event-hubs#trigger---java-example

Я работаю над функцией Java, которая должна работать в Azure. В моем IoT-концентраторе у меня определен маршрут, который инициирует все двойные изменения устройства в направлении концентратора событий. Оттуда моя функция запускается красиво и легко, и я могу регистрировать контент, который действительно был изменен. Пока все хорошо, но ..

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

Кто-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
0 голосов
/ 16 января 2019

Вы встретили известную проблему , что текущая реализация данных привязки Event Hub пропустила некоторые свойства, такие как идентификатор устройства, который вы ищете.

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

А вот поток , отслеживающий решение проблемы.

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