Microsoft Azure IoT концентратор (Java) уведомляет "Потерянное соединение с сервером. Повторное подключение 0 раз". после отправки сообщения

Я использую библиотеку IoT Hub Java для отправки сообщений между моими устройствами и Microsoft Azure.

Для подключения звоню

client = new DeviceClient(connString, protocol);
client.open();

А потом, чтобы отправить сообщение, я звоню

client.sendEventAsync(message, callback, lockobj);

Тогда мой callback функция вызывается при отправке сообщения.

Тем не менее, и здесь проблема, после вызова sendEventAsync на моем терминале бесконечно появляется сообщение Lost connection to the server. Reconnecting 0 time.

Я пытался закрыть соединение после отправки сообщения и открывать его каждый раз, но я думаю, что это хуже, и проблема остается. Кроме того, я выполнил тестовый образец, предоставленный Azure ( https://github.com/Azure-Samples/azure-iot-samples-java/archive/master.zip), и у меня возникла та же проблема.

Итак, мой вопрос, есть ли проблема с библиотекой (поскольку проблема присутствует даже с ее кодом)? Или я что-то не так делаю?

Большое спасибо!

1 ответ

Я обнаружил проблему: сегодня я тестировал тот же код, что и вчера, и все работало хорошо. Итак, я вошел в Azure и обнаружил следующее сообщение об ошибке:

Произошла ошибка при запросе устройств: Forbidden:{ "Message": "ErrorCode:IotHubQuotaExceeded; общее количество сообщений на IotHub '[..]' превысило выделенную квоту. Максимально допустимое количество сообщений: '8000', текущее количество сообщений: '20107'. Операции отправки и получения заблокированы для этого концентратора до следующего дня UTC. Рассмотрите возможность увеличения единиц для этого концентратора для увеличения квоты.", "ExceptionMessage": " Идентификатор отслеживания:[..]-TimeStamp:10/17/2018 08:48:37" }.

Проблема в том, что я превысил квоту сообщений. Однако вчера я был смущен, потому что Azure ответил мне сообщением "OK_EMPTY", которое означает, что все в порядке...

Другие вопросы по тегам