设备向iot hub-azure发送反馈的端点是什么

时间:2018-04-11 12:29:18

标签: azure azure-iot-hub

代表硬件开发人员提出此问题。

我试图向IOT Hub发送消息反馈,我的问题是只有http端点对我有效,没有其他协议支持,也无法读取标头以获取etag发送的信息IOT Hub在云到设备消息中。

那么我如何向IOT Hub发送反馈,是否有任何默认端点?

2 个答案:

答案 0 :(得分:0)

呃..我不知道消息ID是否与ETag相同(希望你有前者)。很确定不行,在这种情况下你需要ETag

Here's something i wrote in the past for an Arduino Mega

简而言之,完成

DELETE /devices/{device_id}/messages/devicebound/{etag}?api-version=2016-02-03

更清洁的实施in this repo,同时显示拒绝放弃

答案 1 :(得分:0)

实际上,客户没有公开端点发送C2D消息反馈。我们只能更改消息状态,Azure IoT集线器会将反馈发送到反馈端点,反馈端点用于服务端根据消息状态接收反馈。 Here是了解消息反馈的有用文档。

  

我正在尝试向IOT Hub发送消息反馈,我的问题是   只有http端点对我有用,没有其他协议   支撑,

如果您使用azure iot sdk,则会有一个API:deviceClient.CompleteAsync()通知IoT Hub该消息已成功处理。可以从设备队列中安全地删除该消息。

以及:

AbandonAsync():通知IoT Hub将收到的消息放回设备队列

RejectAsync():通知IoT Hub从设备队列中删除收到的消息,并向服务器指示无法处理该消息。

您可以参考DeviceClientHttpSample

  

也无法读取标题以获取IOT发送的etag   云到设备消息中的集线器。

REST api可以阅读etag。

收到C2D消息(Receive Device Bound Notification):

GET https://<fully-qualified IoT hub domain name>/devices/device1/messages/deviceBound?api-version=2016-11-14

从响应标题中,您可以获得etag:

enter image description here

使用上面检索到的etag(Complete Device Bound Notification)发送反馈:

enter image description here