皆様 IoT Hub とは友達になれましたでしょうか、Azure IoT 開発サポートの石沢です。
今回はデバイス ID のエクスポートとインポートについてご紹介いたします。
デバイス ID が増えてきて、まとめて操作したくなった時に便利な操作になります。
手順一覧
デバイス ID のエクスポートとインポートは以下の 2 つの手順にて行います。
-
- デバイス ID をエクスポートする Blob の用意
- プログラムによるエクスポートとインポートの実行
各手順の詳細
1. デバイス ID をエクスポートする Blob の用意
リソースの作成より、ストレージアカウントを作成します。
作成時に [アカウントの種類] は BLOB ストレージを選択します。作成時に入力したストレージアカウント名は後で使用するのでメモしておきます。
[BLOB の参照] より、作成した BLOB にコンテナーを追加します。“名前” 欄に入力したコンテナー名も後で使用するのでメモしておきます。
[Shared Access Signatures] より Shared Access Signature (SAS) を生成します。生成された SAS トークンをメモしておきます。
2. プログラムによるエクスポートおよびインポートの実行
RegistryManager クラスを使用した以下のサンプルコードを実行します。
、 につきましては、IoT Hub の接続名に置き換えてください。
また、、、 はそれぞれ BLOB 作成時にメモした値に置き換えてください。
エクスポート用サンプルコード :
var registryManager1 = RegistryManager.CreateFromConnectionString(""); JobProperties exportJob = Await registryManager1.ExportDevicesAsync("https://.blog.core.windows.net/ while (true) { exportJob = await registryManager.GetJobAsync(exportJob.JobId); if (exportJob.Status == JobStatus.Completed || exportJob.Status == JobStatus.Failed || exportJob.Status == JobStatus.Cancelled) { break; } await Task.Delay(TimeSpan.FromSeconds(5)); } |
インポート用サンプルコード :
var registryManager2 = RegistryManager.CreateFromConnectionString(""); JobProperties importJob = await registryManager2.ImportDevicesAsync("https://.blog.core.windows.net/ while (true) { importJob = await registryManager2.GetJobAsync(importJob.JobId); if (importJob.Status == JobStatus.Completed || importJob.Status == JobStatus.Failed || importJob.Status == JobStatus.Cancelled) { break; } await Task.Delay(TimeSpan.FromSeconds(5)); } |
エクスポートが完了すると、作成したコンテナーにエクスポートしたデバイス ID の情報が保存された devices.txt が格納されます。
また、インポートが完了すると importErrors.log が格納されます。
インポート先の IoT Hub にデバイス ID が登録されていれば成功となります。
ではまた、いつかどこかでお会いいたしましょう!
Azure IoT 開発サポートチーム 石沢 望夢
This post first appeared on MSDN Blogs | Get The Latest Information, Insights, Announcements, And News From Microsoft Experts And Developers In The MSDN Blogs., please read the originial post: here