Я использую azure SDK узла IoT для подключения к IoT-HUB. В частности, azure -iot-device и azure -iot-device-mqtt с методом fromConnectionString.
Я могу выполнить работу без проблем, но недавно в ходе тестирования я обнаружил, что не могу получить контроль над несанкционированное состояние. Мне интересно, могу ли я что-то сделать или отсутствует в моем коде, который фиксирует это, чтобы я мог что-то с этим сделать.
Сначала вот журнал отладки. Этот блок многократно повторяется, что в итоге я пытаюсь перехватить и остановить.
azure -iot-device-mqtt: Mqtt connect + 174ms
azure -iot- device-mqtt: соединение Mqtt -> отключено () + 2 мс
azure -iot-mqtt-base: translateError translation: ошибка: соединение отклонено: не авторизовано + 10 с
azure -iot-device-mqtt: Mqtt отключен -> подключение (отключено.подключить) + 10s
azure -iot-device-mqtt: Mqtt topi c publi sh: devices / testPC / messages / events / + 5ms
azure -iot-device-mqtt: Mqtt-сообщение topi c подписаться: devices / testPC / messages / devicebound / # + 1ms
azure - iot-mqtt-base: MqttBase отключен -> подключение (disconnected.connect) + 10s
azure -iot-mqtt-base: имя пользователя MqttBase: ВСЕ ЭТО УДАЛЕНО - КЛЮЧ К ДОСТУПУ ИЗВЕСТЕН, ЧТОБЫ БЫТЬ НЕПРАВИЛЬНО + 2ms
azure -iot-mqtt-base: MqttBase uri: УДАЛЕНО + 2ms
azure -iot-mqtt-base: MqttBase получил 'ошибку' от клиента mqtt + 129мс
azure -iot-mqtt-base: подключение MqttBase -> disconnected () + 4ms
Приведенные выше журналы получены из этого кода:
process.env.DEBUG = "*";
var Client = require('azure-iot-device').Client;
var Protocol = require('azure-iot-device-mqtt').Mqtt;
var connectionStringCreate = require('./connectionStingCreator.js');
var connectionString = connectionStringCreate.setDeviceConnectionString();
var client = Client.fromConnectionString(connectionString, Protocol);
client.on('error', function (err) {
console.log('got an error bc not authorised ');
});
client.on('disconnect', function () {
console.log('got disconnected bc not authorised');
});
client.open(function (err, transport) {
if (err) {
console.log('got an error on open bc not authorised');
} else {
console.log('Client open');
};
});
Обратите внимание, что ни один из моих стрельба из консоли.
Я посмотрел на документ, но не могу понять, куда я должен положить что-то, что говорит ему прекратить повторные попытки, если не разрешено, и сообщить мне причину.
Последний пункт - я прекращаю все это через одну минуту.
Заранее спасибо