Настройка MAX_OPERATION_TIMEOUT

#azure-iot-hub #azure-iot-sdk #azure-node-sdk

#azure-iot-hub #azure-iot-sdk #azure-node-sdk

Вопрос:

Я хотел бы установить для MAX_OPERATION_TIMEOUT, для которого по умолчанию в azure-iot-device/lib/internal_client.js установлено значение 4 минуты, другое пользовательское значение. Как я могу получить доступ к этому свойству (например, с помощью ModuleClient / ModuleTwin)?

Ответ №1:

Вы должны быть особенно осторожны при изменении логики повторных попыток SDK, в зависимости от типа ошибки и настроенной политики повторных попыток SDK может повторять или не выполнять операции, которые не удалось завершить из-за ошибки. С точки зрения SDK существует всего несколько типов сбоев, которые могут быть обнаружены, в основном связанных с сетью и протоколами. Смотрите Подключение и повторные попытки в качестве ссылки.

Чтобы изменить постоянное значение MAX_OPERATION_TIMEOUT, вы могли бы просто клонировать SDK и скомпилировать его с желаемым значением (следуя этим инструкциям).

Чтобы сделать его более динамичным и изменяться соответственно текущему значению устройства модуля twin, вам нужно будет определить пользовательское желаемое свойство и дождаться обновлений twin — при изменении желаемого значения свойства вы должны определить функцию для изменения значения MAX_OPERATION_TIMEOUT. Смотрите пример модуля twin_updates.