有没有办法在 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 存储并将上传项目的地址发送给设备。这具有将我们的消息内容与我们的消息层分开的优势,并允许我们对已发送的数据进行一些管理 - 非常便于调试。
希望对您有所帮助。
我遇到了 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 存储并将上传项目的地址发送给设备。这具有将我们的消息内容与我们的消息层分开的优势,并允许我们对已发送的数据进行一些管理 - 非常便于调试。
希望对您有所帮助。