有没有办法在 Azure IoT 中心发送超过 65kb 的云到设备消息?

Is there a way to send more than 65kb as Cloud-To-Device message in Azure IoT Hub?

我遇到了 IoT 中心的问题 - 我应该将一个大对象从云端发送到设备。 我试图从我的驱动器发送一个文本文件。 如果我发送的文件大小低于 65kb - 一切正常。但如果大小大于 65kb - 设备控制台应用程序无法接收此数据(我已经在 C++ 和 C# 客户端上测试过)

发送数据代码:

private static async Task SendCloudToDeviceLargeDataAsync(string deviceId)
    {
        var bytes = File.ReadAllBytes(filePath);

        var message = new Message(bytes)
        {
            //Acknowledgement for message delivery feedback
            Ack = DeliveryAcknowledgement.Full
        };

        await serviceClient.SendAsync(deviceId, message);
    }

有什么方法可以将大量数据从 IoT Hub 发送到设备吗?

你没有办法做到这一点。 如此处所述https://github.com/Azure/azure-content/blob/master/includes/iot-hub-limits.md,云到设备消息的最大大小为 64KB。

尽管您可以考虑其他替代方案,但我们通常做的一件事是将所需的数据上传到 blob 存储并将上传项目的地址发送给设备。这具有将我们的消息内容与我们的消息层分开的优势,并允许我们对已发送的数据进行一些管理 - 非常便于调试。

希望对您有所帮助。