Azure IoT SDK
IoT ソリューションの構築に使用できるさまざまな SDK を以下の表に示します。
デバイスの SDK
Microsoft Azure IoT device SDK には、Azure IoT Hub サービスに接続および管理されるアプリケーションの構築を容易にするコードが含まれています。 これらの SDK は、PC、タブレット、スマートフォン、Raspberry Pi などの一般的な MPU ベースのコンピューティング デバイスで実行できます。 SDK では、C と、最新のマネージド言語 (C#、Node.JS、Python、Java など) での開発がサポートされます。
SDK は複数の言語で利用できるため、チームとシナリオに最適な SDK を柔軟に選択できます。
Language | Package | source | クイックスタート | サンプル | リファレンス |
---|---|---|---|---|---|
.NET | NuGet | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Python | pip | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Node.js | npm | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Java | Maven | GitHub | IoT Hub への接続 | サンプル | リファレンス |
C | packages | GitHub | IoT Hub への接続 | サンプル | リファレンス |
Java デバイス SDK には Android 用のサンプルが含まれています。
C デバイス SDK には、CocoaPods を使用する iOS 用のサンプルが含まれています。
警告
Azure IoT C SDK は、そのメモリ管理とスレッド モデルが原因で、埋め込みアプリケーションには適していません。 組み込みデバイスの SDK オプションについては、組み込みデバイスの SDK を参照してください。
デバイス SDK を使って、IoT Hub または IoT Central に接続される IoT デバイス上で実行するコードを開発します。
デバイス SDK の使用方法について詳しくは、Azure IoT デバイスとアプリケーション開発の概要に関する記事を参照してください。
組み込みデバイスの SDK
これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。
組み込みデバイスの SDK は複数のオペレーティング システムで使用できるため、シナリオに最適な SDK を柔軟に選択できます。
RTOS | SDK | source | サンプル | リファレンス |
---|---|---|---|---|
Eclipse ThreadX | Azure RTOS ミドルウェア | GitHub | クイックスタート | リファレンス |
FreeRTOS | FreeRTOS ミドルウェア | GitHub | サンプル | リファレンス |
ベアメタル | Azure SDK for Embedded C | GitHub | サンプル | リファレンス |
組み込みデバイス SDK を使って、IoT Hub または IoT Central に接続される IoT デバイス上で実行するコードを開発します。
組み込みデバイス SDK を使うタイミングについて詳しくは、「C SDK と Embedded C SDK の使用シナリオ」を参照してください。
デバイス SDK のライフサイクルとサポート
このセクションでは、Azure IoT device SDK のライフサイクルとサポート ポリシーをまとめます。 詳細については、Azure SDK のライフサイクルとサポート ポリシーに関するページを参照してください。
パッケージのライフサイクル
各パッケージは、以下のカテゴリでリリースされます。 カテゴリごとにサポート構造が定義されています。
ベータ - プレビューまたはリリース候補とも呼ばれます。 早期アクセスとフィードバックの目的で使用できますが、運用環境での使用はお勧めしません。 プレビュー バージョンのサポートは、GitHub の Issue に限定されます。 プレビュー リリースが公開されるのは通常 6 か月未満であり、その後は非推奨となるか、アクティブとしてリリースされます。
アクティブ - 一般提供されて、完全にサポートされ、新機能の更新プログラムおよびバグとセキュリティの修正プログラムが提供されます。 修正プログラムと更新プログラムが提供されるのは最新バージョンであるため、そのバージョンを使用することをお勧めします。
非推奨 - より新しいリリースに置き換えられます。 新しいリリースがアクティブになると同時に非推奨となります。 非推奨のリリースでは、さらに 12 か月間、最も重要なバグ修正とセキュリティ修正に対応しています。
サポートを受ける
Azure IoT device SDK の使用中に問題が発生した場合は、いくつかの方法でサポートを求めることができます。
バグの報告 - すべてのお客様は、該当する SDK に関連付けられている GitHub リポジトリの Issue ページでバグを報告できます。
Microsoft カスタマー サポート チーム - サポート プランに加入しているユーザーは、Azure portal から直接サポート チケットを作成することで、Microsoft カスタマー サポート チームとやり取りできます。
IoT Hub サービス SDK
Azure IoT サービス SDK には、IoT Hub と直接やりとりしてデバイスやセキュリティを管理するアプリケーションの作成を容易にするコードが含まれています。
プラットフォーム | パッケージ | コード リポジトリ | サンプル | リファレンス |
---|---|---|---|---|
.NET | NuGet | GitHub | サンプル | リファレンス |
Java | Maven | GitHub | サンプル | リファレンス |
Node | npm | GitHub | サンプル | リファレンス |
Python | pip | GitHub | サンプル | リファレンス |
サービス SDK を使って IoT ハブ経由でデバイスと対話する方法について詳しくは、「IoT プラグ アンド プレイ サービス開発者ガイド」を参照してください。
IoT Hub 管理 SDK
IoT Hub 管理 SDK は、Azure サブスクリプション内の IoT ハブを管理するバックエンド アプリケーションを構築するのに役立ちます。
プラットフォーム | パッケージ | コード リポジトリ | リファレンス |
---|---|---|---|
.NET | NuGet | GitHub | リファレンス |
Java | Maven | GitHub | リファレンス |
Node.js | npm | GitHub | リファレンス |
Python | pip | GitHub | リファレンス |
管理 SDK の代替手段としては、Azure CLI、PowerShell、REST API があります。
DPS デバイス SDK
DPS デバイス SDK は、DPS を介したプロビジョニングのためにデバイスが呼び出す Register API やその他の実装を提供します。 デバイス SDK は、PC、タブレット、スマートフォン、Raspberry Pi などの一般的な MPU ベースのコンピューティング デバイスで実行できます。 SDK では、C と、最新のマネージド言語 (C#、Node.JS、Python、Java など) での開発がサポートされます。
プラットフォーム | パッケージ | コード リポジトリ | サンプル | クイックスタート | リファレンス |
---|---|---|---|---|---|
.NET | NuGet | GitHub | サンプル | クイックスタート | 参照 |
C | apt-get、MBED、Arduino IDE、または iOS | GitHub | サンプル | クイックスタート | リファレンス |
Java | Maven | GitHub | サンプル | クイックスタート | リファレンス |
Node.js | npm | GitHub | サンプル | クイックスタート | リファレンス |
Python | pip | GitHub | サンプル | クイックスタート | リファレンス |
警告
上記の C SDK は、そのメモリ管理とスレッド モデルが原因で、埋め込みアプリケーションには適していません。 組み込みデバイスについては、「組み込みデバイスの SDK」を参照してください。
DPS 組み込みデバイス SDK
これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。
RTOS | SDK | source | サンプル | リファレンス |
---|---|---|---|---|
Eclipse ThreadX | Azure RTOS ミドルウェア | GitHub | クイックスタート | リファレンス |
FreeRTOS | FreeRTOS ミドルウェア | GitHub | サンプル | リファレンス |
ベアメタル | Azure SDK for Embedded C | GitHub | サンプル | リファレンス |
IoT SDK のデバイス SDK と埋め込みデバイス SDK の詳細について説明します。
DPS サービス SDK
DPS サービス SDK は、DPS インスタンスの登録と登録レコードを管理するためのバックエンド アプリケーションを構築するのに役立ちます。
プラットフォーム | パッケージ | コード リポジトリ | サンプル | クイックスタート | リファレンス |
---|---|---|---|---|---|
.NET | NuGet | GitHub | サンプル | クイックスタート | リファレンス |
Java | Maven | GitHub | サンプル | クイックスタート | リファレンス |
Node.js | npm | GitHub | サンプル | クイックスタート | リファレンス |
DPS 管理 SDK
DPS 管理 SDK は、Azure サブスクリプション内の DPS インスタンスとそのメタデータを管理するバックエンド アプリケーションを構築するのに役立ちます。
プラットフォーム | パッケージ | コード リポジトリ | リファレンス |
---|---|---|---|
.NET | NuGet | GitHub | リファレンス |
Java | Maven | GitHub | リファレンス |
Node.js | npm | GitHub | リファレンス |
Python | pip | GitHub | リファレンス |
Azure Digital Twins コントロール プレーン API
コントロール プレーン API は、ARM API であり、Azure Digital Twins インスタンス全体を管理するために使用されます。そのため、インスタンス全体の作成や削除などの操作に対応しています。 また、エンドポイントの作成と削除にもこれらの API を使用します。
API を直接呼び出すには、コントロール プレーン Swagger リポジトリの最新の Swagger フォルダーを参照してください。 このフォルダーには、使用法を示す例が保存されているフォルダーも含まれています。
Azure Digital Twins コントロール プレーン API のために現在使用できる SDK を次に示します。
Azure Digital Twins データ プレーン API
データ プレーン API は、Azure Digital Twins API であり、Azure Digital Twins インスタンス内の要素を管理するために使用されます。 たとえば、ルートの作成、モデルのアップロード、リレーションシップの作成、ツインの管理などの操作が含まれ、大まかに次のカテゴリーに分類できます。
DigitalTwinModels
- DigitalTwinModels カテゴリには、Azure Digital Twins インスタンスのモデルを管理するための API が含まれています。 管理アクティビティには、DTDL で作成されたモデルのアップロード、検証、取得、および削除が含まれます。DigitalTwins
- DigitalTwins カテゴリには、開発者が Azure Digital Twins インスタンスで Digital Twins とその関係を作成、変更、および削除するための API が含まれています。Query
- Query カテゴリでは、開発者はリレーションシップにわたるツイン グラフで一連の Digital Twins を検索できます。Event Routes
- Event Routes カテゴリには、システムを通してダウンストリーミング サービスにデータをルーティングする API が含まれています。Import Jobs
- Import Jobs API を使うと、実行時間の長い非同期アクションを管理して、モデル、ツイン、リレーションシップを一括でインポートすることができます。Delete Jobs
- Delete Jobs API を使うと、実行時間の長い非同期アクションを管理して、インスタンスのすべてのモデル、ツイン、リレーションシップを削除することができます。
API を直接呼び出すには、データ プレーン Swagger リポジトリの最新の Swagger フォルダーを参照してください。 このフォルダーには、使用法を示す例が保存されているフォルダーも含まれています。 データ プレーン API リファレンス ドキュメントを表示することもできます。
Azure Digital Twins データ プレーン API のために現在使用できる SDK を次に示します。
次のステップ
推奨される次の手順は以下のとおりです。