- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前一直在试验 Azure IoT Edge,并试图降低向 IoT 中心发送大量遥测数据的成本。
起初我使用 DeviceClient
和方法 SendEventAsync()
发送消息。现在我正在保存它们并将它们作为一个批处理发送。
据我了解,这是为了降低 IoTHub 的吞吐量并降低将遥测数据发送到 IoT Hub 的成本。但是,当我查看 IoT Hub 时,无论是立即发送还是每次保存并每 5 分钟批量发送一次,我仍然使用相同数量的消息。
我已经在网上搜索了一段时间,但我不知道我遗漏了什么。
我希望有人能帮我解决这个问题。
一些更多的信息和我尝试过的事情:我正在使用 C# 编写软件。我正在使用 DeviceClient 通过使用 AMQP 的透明网关发送消息。我试过使用 MQTT 或 HTTP1 进行批处理,但都不起作用。 DeviceClient 甚至不支持 HTTP1。
最佳答案
The maximum message size for messages sent from a device to the cloud is 256 KB. These messages are metered in 4 KB blocks for the paid tiers so for instance if the device sends a 16 KB message via the paid tiers it will be billed as 4 messages.
因此,就定价而言,使用 SendEventAsync()
还是 SendEventBatchAsync()
似乎并不重要。
此外,对于 IoT Edge:您的叶设备通过哪种协议(protocol)连接到 Edge Hub 不会影响 Edge Hub 连接到 IoT Hub 的方式。默认情况下,它将使用 AMQP,但您可以通过 UpstreamProtocol
env variable 更改它。如果需要的话。
正如下面评论中所讨论的:
我的理解是每条消息 4KB 是最大值。较小的消息也将被计为每条消息 1 条。您可以做的是在内部批处理消息并将多个实际遥测消息放入一个 Microsoft.Azure.Devices.Client.Message 中。这些应该是 IoT 中心配额的依据。你在那些有效载荷内的批处理方面所做的与配额无关
关于c# - IoT Edge SendEventBatchAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53614474/
我目前一直在试验 Azure IoT Edge,并试图降低向 IoT 中心发送大量遥测数据的成本。 起初我使用 DeviceClient 和方法 SendEventAsync() 发送消息。现在我正在
我是一名优秀的程序员,十分优秀!