2016-11-14 47 views
0

我遇到了IoT Hub的一个问题 - 我应该从云端发送一个大对象到设备。 我试图从我的驱动器发送文本文件。 如果我发送大小小于65kb的文件 - 一切正常。但是,如果大小比65KB大 - 设备控制台应用程序不能接收这个数据(我对下测试++和C#的客户端)有没有办法在Azure IoT Hub中发送超过65kb的云到设备消息?

代码发送数据:

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); 
    } 

有什么办法将大量数据从物联网集线器发送到设备?

+1

64 KB是[云到设备消息的最大大小](https://github.com/Azure/azure-content/blob/master/includes/iot-hub-limits.md) – Martheen

+0

因此,有没有办法将大量数据从物联网集线器发送到设备? –

+0

您可以将它们分成几部分 – Martheen

回答

3

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

虽然还有其他可供选择的方法,但我们通常会做的一件事是上传blob存储所需的数据并向设备发送上传项目的地址。这具有将我们的消息内容与我们的消息层分开的优点,并且允许我们对发送的数据进行一些管理 - 调试非常方便。

希望这会有所帮助。

+1

Microsoft Azure文档具有专门针对此场景的页面... https: //azure.microsoft.com/en-us/documentation/articles/iot-hub-csharp-csharp-file-upload/ –

+0

感谢您的回答,Azure Blob Storage是一个很好的解决方案! –

相关问题