Как быстро перехватить несанкционированное условие при использовании Azure Node SDK для установления sh MQTT-соединения с IoT Hub - PullRequest
0 голосов
/ 04 марта 2020

Я использую 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');
        };
    });

Обратите внимание, что ни один из моих стрельба из консоли.

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

Последний пункт - я прекращаю все это через одну минуту.

Заранее спасибо

...