2016-11-14 14 views
0

私はIoT Hubに関する問題を抱えました。私は大きなオブジェクトをクラウドからデバイスに送信する必要があります。 ドライブからテキストファイルを送信しようとしました。 サイズが65kb未満のファイルを送信すると、すべてOKです。サイズが65キロバイトよりも大きい場合でも、 - データを送信するためのコードAzure IoT HubにCloud-To-Deviceメッセージとして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ハブからデバイスに送信しますか?

+1

64 KBは「[クラウドからデバイスへのメッセージの最大サイズ」](https://github.com/Azure/azure-content/blob/master/includes/iot-hub-limits.md) – Martheen

+0

です。 IoTハブから大量のデータをデバイスに送信する方法はありませんか? –

+0

複数の部分に分割するだけです – Martheen

答えて

3

これを行う方法はありません。 ここでhttps://github.com/Azure/azure-content/blob/master/includes/iot-hub-limits.mdと記載されているように、クラウドからデバイスへのメッセージの最大サイズは64KBです。

他の選択肢もありますが、私たちがよく行うことの1つは、BLOBストレージに必要なデータをアップロードし、デバイスにアップロードされたアイテムのアドレスを送信することです。これは私たちのメッセージコンテンツを私たちのメッセージ層から分離する利点があり、送信されたデータに対するガバナンスを維持することができます。これはデバッグに非常に便利です。

これが役に立ちます。

+1

Microsoft Azureドキュメントには、このシナリオ専用のページがあります... https: //azure.microsoft.com/en-us/documentation/articles/iot-hub-csharp-csharp-file-upload/ –

+0

答えをいただきありがとうございます、Azure Blob Storageは良い解決策です! –

関連する問題