AMQP MessageTooLargeError: AMQP Transport: Could not send

AMQP MessageTooLargeError: AMQP Transport: Could not send

我们在向 IOT-HUB 发送 500KB 数据时遇到以下错误。

AMQP MessageTooLargeError: AMQP Transport: Could not send

我们对此进行了探索,并在以下文档中找到了大小限制:

https://docs.microsoft.com/en-ie/javascript/api/azure-iot-common/messagetoolargeerror?view=azure-node-latest&viewFallbackFrom=azure-iot-typescript-latest

我们认为,这是一种技术限制,最多允许 256KB。 是否有任何解决方法可以通过 azure-iot-device-amqp

发送大于 256KB 的数据

如果邮件超过 256KB,file upload 是一个选项。

你可以参考这个Device-to-cloud communications guidance。最多可对 256KB 的消息进行批处理。为了在 C 或 Python SDK 中启用批处理,您需要使用 SetOption API(C 中的 IoTHubClient_SetOption)并将 "Batching" 选项设置为 true 或 false .如果你使用 Azure IoT SDK for c#,你可以尝试使用 SendEventBatchAsync 方法。