Получение идентификатора устройства из Azure IotHub / EventHub - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь прочитать идентификатор устройства из Event Hub (на задней панели IoTHub), но мой синтаксис в JS кажется неправильным.

module.exports = function (context, IoTHubMessages) {
context.log(`JavaScript eventhub trigger function called for message array: ${IoTHubMessages}`);

var deviceId = IoTHubMessages.SystemProperties["iothub-connection-device-id"];

Функция возвращает ошибку: Exception: TypeError: Cannot читать свойство 'iothub-connection-device-id' из неопределенного

Я не совсем уверен, является ли "iothub-connection-device-id" правильным именем атрибута в концентраторе событий, но проблема кажется быть с SystemProperties.

Ценю любую помощь.

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вы должны читать сообщения таким образом. Прочитайте это для получения дополнительной информации о топи c - https://docs.microsoft.com/en-us/samples/azure-samples/functions-js-iot-hub-processing/processing-data-from-iot-hub-with-azure-functions/

    IoTHubMessages.forEach(message => {
    context.log(`Processed message: ${message}`);
    count++;
    totalTemperature += message.temperature;
    totalHumidity += message.humidity;
    deviceId = message.deviceId;
});
0 голосов
/ 20 февраля 2020

Во-первых, используйте JSON .stringify, чтобы распечатать полученный груз. Во-вторых, я считаю, что вы должны иметь возможность доступа к идентификатору вашего устройства, выполнив следующие действия: message.annotations ["iothub-connection-device-id"]. Для получения дополнительной информации, пожалуйста, обратитесь к примерам Quickstart, которые вы можете найти в Microsoft Github repos . Перейдите в папку iot-hub \ Quickstarts \ read-d2 c -messages, и вы найдете пример обработки полезной нагрузки сообщения и печати вывода.

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