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 のライフサイクルとサポート ポリシーに関するページを参照してください。

パッケージのライフサイクル

各パッケージは、以下のカテゴリでリリースされます。 カテゴリごとにサポート構造が定義されています。

  1. ベータ - プレビューまたはリリース候補とも呼ばれます。 早期アクセスとフィードバックの目的で使用できますが、運用環境での使用はお勧めしません。 プレビュー バージョンのサポートは、GitHub の Issue に限定されます。 プレビュー リリースが公開されるのは通常 6 か月未満であり、その後は非推奨となるか、アクティブとしてリリースされます。

  2. アクティブ - 一般提供されて、完全にサポートされ、新機能の更新プログラムおよびバグとセキュリティの修正プログラムが提供されます。 修正プログラムと更新プログラムが提供されるのは最新バージョンであるため、そのバージョンを使用することをお勧めします。

  3. 非推奨 - より新しいリリースに置き換えられます。 新しいリリースがアクティブになると同時に非推奨となります。 非推奨のリリースでは、さらに 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 CLIPowerShellREST 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 を次に示します。

SDK 言語 パッケージ リンク リファレンス ドキュメント ソース コード
.NET (C#) NuGet の Azure.ResourceManager.DigitalTwins Azure DigitalTwins SDK for .NET のリファレンス GitHub の.NET 用 Microsoft Azure Digital Twins 管理クライアント ライブラリ
Java Maven の azure-resourcemanager-digitaltwins リソース管理のリファレンス - Digital Twins GitHub の Java 用 Azure Resource Manager AzureDigitalTwins クライアント ライブラリ
JavaScript npm の JavaScript 用 AzureDigitalTwinsManagement クライアント ライブラリ GitHub の JavaScript 用 AzureDigitalTwinsManagement クライアント ライブラリ
Python PyPI の azure-mgmt-digitaltwins GitHub の Microsoft Azure SDK for Python
Go azure-sdk-for-go/services/digitaltwins/mgmt GitHub の Azure SDK for Go

Azure Digital Twins データ プレーン API

データ プレーン API は、Azure Digital Twins API であり、Azure Digital Twins インスタンス内の要素を管理するために使用されます。 たとえば、ルートの作成、モデルのアップロード、リレーションシップの作成、ツインの管理などの操作が含まれ、大まかに次のカテゴリーに分類できます。

API を直接呼び出すには、データ プレーン Swagger リポジトリの最新の Swagger フォルダーを参照してください。 このフォルダーには、使用法を示す例が保存されているフォルダーも含まれています。 データ プレーン API リファレンス ドキュメントを表示することもできます。

Azure Digital Twins データ プレーン API のために現在使用できる SDK を次に示します。

SDK 言語 パッケージ リンク リファレンス ドキュメント ソース コード
.NET (C#) NuGet の Azure.DigitalTwins.Core .NET 用 Azure IoT Digital Twins クライアント ライブラリのリファレンス GitHub の .NET 用 Azure IoT Digital Twins クライアント ライブラリ
Java Maven の com.azure:azure-digitaltwins-core Java の Azure Digital Twins SDK のリファレンス GitHub の Java 用 Azure IoT Digital Twins クライアント ライブラリ
JavaScript npm の JavaScript 用 Azure Digital Twins コア クライアント ライブラリ Reference for @azure/digital-twins-core GitHub の JavaScript 用 Azure Digital Twins コア クライアント ライブラリ
Python PyPI の Python 用 Azure Digital Twins コア クライアント ライブラリ azure-digitaltwins-core のリファレンス GitHub の Python 用 Azure Digital Twins コア クライアント ライブラリ

次のステップ

推奨される次の手順は以下のとおりです。