使用DeviceClient时,我可以使用SendEvent和使用SendBlob的文件发送消息。但是我没有找到一种方法来接收Azure IoT Hub收到消息/文件的确认信息?
我发现解决此问题的唯一方法是使用serviceClient.GetFileNotificationReceiver()。 我错过了什么或这是唯一的方法吗?
似乎我需要SharedAccessKeyName来使用ServiceClient。但这并不存在于例如DeviceExplorer创建的令牌(我用于DeviceClient)。任何建议都表示赞赏。
答案 0 :(得分:0)
对于Java和C sdks,有IotHubEventCallback和IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK但是对于C#,没有实现这样的接口。
因此,对于C#,如果DeviceClient.SendEventAsync()没有抛出任何异常,将成功发送消息,否则将失败。
或者您可以使用Event Hub-compatible endpoint to monitor the status of operations on your IoT hub,D2C消息,文件上传...
对于ServiceClient,您需要Azure IoT Hub连接字符串,而不是设备连接字符串。您可以在Configuration of Device Explorer中找到它: