MQTTを介してデバイスファイルをIoT Platformにアップロードできます。 これにより、ハードウェアリソースのオーバーヘッドと開発コストが削減されます。 この記事では、デバイスファイルをIoT PlatformにアップロードするようにLink SDK for Cを設定する方法について説明します。
前提条件
デバイスの検証情報が取得される。
デバイスは、IoT Platformによって発行されたデバイス証明書を使用して検証されます。 詳細については、「デバイス検証情報の取得」をご参照ください。
デバイスは、カスタムデバイス検証情報を使用して検証されます。 詳細については、「MQTTゲートウェイ製品へのデバイスの追加」をご参照ください。
[SDKのカスタマイズ] ページでSDKをカスタマイズする場合は、[詳細機能] を [ファイルのアップロード] に設定します。
開発環境を準備する。
背景
- IoT Platformのファイル管理機能の詳細については、「ファイル管理」をご参照ください。
- ファイルがアップロードされた後、API操作を呼び出して、IoT Platformコンソールでファイルを管理できます。 詳細については、以下の記事を参照してください。
制御ポリシー機能の動作
デバイスのアプリケーションプログラムは、MQTTを介してIoT Platformにファイルをアップロードします。
- MQTT接続を確立する必要があります。 詳細については、「概要」をご参照ください。
- 次の図にプロセスを示します。 この例では、。/demos/mqtt_upload_basic_demo.cアプリケーションプログラムが使用されます。

使用上の注意
- 次のファイルの命名規則に注意してください。
- 各ファイル名には、数字、文字、アンダースコア (_) 、およびピリオド (.) を使用できます。
- 各ファイル名は数字または文字で始まる必要があります。
- 各ファイル名の長さは最大100バイトです。
- 一度に複数のファイルをアップロードできます。
- IoT Platformインスタンスには、最大1 GBのファイルを保存できます。
- デバイスは最大1,000個のファイルをアップロードして保存できます。
- 1つのファイルのサイズは最大16 MBです。
- デバイスがファイルをアップロードするリクエストを開始すると、IoT Platformはファイル名に基づいて次のいずれかのポリシーを実装します。
- 同じ名前のファイルがIoT Platformに存在しない場合、ファイルアップロードタスクが作成されます。
- 同じ名前のファイルがIoT Platformに存在する場合、指定されたポリシーに基づいて操作が実行されます。 サンプルコードと説明の詳細については、「手順4: ファイルのアップロード要求を開始する」をご参照ください。
処理ポリシー (conflictStrategy) 説明 overwrite このポリシーはデフォルトで使用されます。 このポリシーを使用すると、IoT Platformは既存のファイルを削除し、新しくアップロードされたファイルのみを保持します。 append デバイスがファイルアップロードリクエストを開始すると、IoT Platformは同じ名前の既存のファイルに関する情報を返します。 この場合、デバイスで次の操作を実行できます。 - IoT Platformでのファイルのアップロードプロセスが完了していない場合は、引き続きオンプレミスのファイルをアップロードできます。 説明 IoT Platformは、完全にアップロードされていないファイルを24時間だけ保持します。
- IoT Platformでのファイルのアップロードプロセスが完了したら、ポリシーを変更するか、オンプレミスファイルをranameすることができます。 次に、ファイルを再度アップロードします。
拒否 IoT Platformは、ファイルが既に存在することを示すエラーコードを返し、オンプレミスファイルのアップロード要求を拒否します。 - IoT Platformでのファイルのアップロードプロセスが完了していない場合は、引き続きオンプレミスのファイルをアップロードできます。
例
- サンプルコードをします。