Я отправляю данные телеметрии из модуля iotedge в облако Azure, и мне нужно подтвердить, что данные получены в облаке. Обнаружил, что я могу использовать для этого обратный вызов подтверждения.
Вот так я отправляю данные:
clientResult = IoTHubModuleClient_LL_SendEventToOutputAsync(iotHubModuleClientHandle, messageInstance->messageHandle, "output1", SendConfirmationCallback_dps, (void *)messageInstance);
И это моя функция обратного вызова:
void SendConfirmationCallback_dps(IOTHUB_CLIENT_CONFIRMATION_RESULT result, void* userContextCallback)
{
printf("Confirmation[%zu] received for message with result = %d\r\n", messageInstance->messageTrackingId, result);
}
**Вопрос: Получу ли я сообщение об ошибке, если сеть не доступна при отправке данных? Я пропускаю что-то, что требуется для достижения моей цели? Мой код работает хорошо во всех других аспектах. **
Моя проблема: Переменная 'result', которая появляется в обратном вызове подтверждения, равна нулю ("IOTHUB_CLIENT_CONFIRMATION_OK"), даже если при отправке данных нет сети.
Характеристики платы: C SDK, Iotedge V1.0.8, Ubuntu 18.04, ARM32