Получение подтверждений с помощью Центра Интернета вещей

При использовании DeviceClient я могу отправлять сообщения с помощью SendEvent и файлы с помощью SendBlob. Но я не нашел способа получить подтверждение того, что сообщения/файлы были получены Центром Интернета вещей Azure?

Единственный способ решить эту проблему — использовать serviceClient.GetFileNotificationReceiver(). Я что-то упустил или это единственный способ?

Также кажется, что мне нужно SharedAccessKeyName для использования ServiceClient. Но этого нет, например. токены, созданные DeviceExplorer (которые я использую для DeviceClient). Любые советы приветствуются.


person John    schedule 15.08.2017    source источник


Ответы (1)


Для Java и C SDK есть IotHubEventCallback и IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK но для C# такой интерфейс не реализован.

Таким образом, для C# сообщение будет успешно отправлено, если DeviceClient.SendEventAsync() не выдает никаких исключений, в противном случае произойдет сбой.

Или вы можете использовать конечную точку, совместимую с Event Hub, чтобы отслеживать состояние операций в центре Интернета вещей, сообщения D2C, загрузки файлов...

Для ServiceClient вам нужна строка подключения Azure IoT Hub, а не строка подключения устройства. Вы можете найти его в конфигурации обозревателя устройств:

введите здесь описание изображения

person Rita Han    schedule 16.08.2017