次の方法で共有


デバイス SDK とサービス SDK のAzure IoT

このリファレンスでは、IoT Hubおよび Device Provisioning Service (DPS) 用のデバイス、サービス、管理 SDK、証明書管理用のプレビュー SDK、Azure Digital Twins コントロール プレーンとデータ プレーン API へのリンクなど、IoT ソリューションの構築に使用できるAzure SDKを示します。

デバイスの SDK

Microsoft Azure IoT デバイス SDK には、Azure IoT Hub サービスに接続して管理されるアプリケーションの構築を容易にするコードが含まれています。 これらの SDK は、PC、タブレット、スマートフォン、Raspberry Pi などの一般的な MPU ベースのコンピューティング デバイスで実行できます。 SDK では、C#、Node.js、Python、Javaを含む、C および最新のマネージド言語での開発がサポートされています。

SDK は複数の言語で利用できるため、チームとシナリオに最適な SDK を柔軟に選択できます。

Language パッケージ 情報源 クイックスタート サンプル リファレンス
.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 用のサンプルが含まれています。

Warnung

Azure IoT C SDK は、メモリ管理とスレッド モデルのため、埋め込みアプリケーションには適していません。 組み込みデバイスの SDK オプションについては、組み込みデバイスの SDK を参照してください。

デバイス SDK を使用して、IoT Hubまたは IoT Central に接続する IoT デバイスで実行するコードを開発します。

組み込みデバイスの SDK

これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。

組み込みデバイスの SDK は複数のオペレーティング システムで使用できるため、シナリオに最適な SDK を柔軟に選択できます。

RTOS SDK 情報源 サンプル リファレンス
Eclipse ThreadX Azure RTOS ミドルウェア GitHub クイック スタート リファレンス
FreeRTOS FreeRTOS ミドルウェア GitHub サンプル リファレンス
ベアメタル 埋め込み C のAzure SDK GitHub サンプル リファレンス

埋め込みデバイス SDK を使用して、IoT Hubまたは IoT Central に接続する IoT デバイスで実行するコードを開発します。

組み込みデバイス SDK を使うタイミングについて詳しくは、「C SDK と Embedded C SDK の使用シナリオ」を参照してください。

デバイス SDK のライフサイクルとサポート

このセクションでは、Azure IoT Device SDK のライフサイクルとサポート ポリシーの概要を示します。 詳細については、「Azure SDK ライフサイクルとサポート ポリシー」を参照>。

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

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

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

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

  3. 非推奨 - より新しいリリースに置き換えられます。 新しいリリースがアクティブになると同時に非推奨となります。 非推奨のリリースでは、さらに 12 か月間、最も重要なバグ修正とセキュリティ修正に対応しています。

サポートを受ける

Azure IoT SDK の使用中に問題が発生した場合は、次のオプションを使用してサポートを求めます。

  • バグの報告 - すべての顧客が、関連する SDK に関連付けられているGitHub リポジトリの問題ページでバグを報告できます。

  • Microsoft カスタマー サポート チーム - サポート プラン を持つユーザーは、Azure ポータルから直接サポート チケットを作成することで、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#、Node.js、Python、Javaを含む、C および最新のマネージド言語での開発がサポートされています。

次の表に、サポートされている各言語で使用できるデバイス SDK を示します。

プラットフォーム パッケージ コード リポジトリ サンプル クイック スタート リファレンス
.NET NuGet GitHub サンプル クイックスタート リファレンス
C apt-get、MBED、Arduino IDE、または iOS GitHub サンプル クイックスタート Reference
Java Maven GitHub サンプル クイックスタート リファレンス
Node.js npm GitHub サンプル クイックスタート リファレンス
Python pip GitHub サンプル クイックスタート リファレンス

Warnung

上記の C SDK は、そのメモリ管理とスレッド モデルが原因で、埋め込みアプリケーションには適していません。 組み込みデバイスについては、「組み込みデバイスの SDK」を参照してください。

DPS 組み込みデバイス SDK

これらの SDK は、コンピューティングとメモリのリソースが限られているデバイスで実行するように設計および作成されており、C 言語を使用して実装されています。

RTOS SDK 情報源 サンプル リファレンス
Eclipse ThreadX Azure RTOS ミドルウェア GitHub クイック スタート リファレンス
FreeRTOS FreeRTOS ミドルウェア GitHub サンプル リファレンス
ベアメタル 埋め込み C のAzure SDK 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 リファレンス

証明書管理 SDK (プレビュー)

プレビュー段階Microsoft X.509 証明書管理をサポートする SDK の場合は、次の手順とサンプルを使用します。 プレビューで証明書管理 SDK を使用するには、リンクされた DPS インスタンスでAzure IoT Hubを使用する必要があり、デバイスは DPS 経由でプロビジョニングする必要があります。

証明書管理デバイス SDK (プレビュー)

次の表は、現在、プレビュー段階Microsoft X.509 証明書管理をサポートしているプラットフォーム SDK の一覧です。

Language パッケージ ソース/ブランチ サンプル
.NET NuGet Azure/azure-iot-sdk-csharp at feature/iot-csr-preview CertificateSigningRequestSample
Python pip Azure/azure-iot-sdk-python at feature/iot-csr-preview cert-mgmt サンプル
Node.js npm 該当なし 該当なし
Java Maven Azure/azure-iot-sdk-java at feature/csr certificate-signing-sample
C packages Azure/azure-iot-sdk-c at feature/dps-csr-preview iothub_ll_client_sample_certificate_signing_request

証明書管理の埋め込みデバイス SDK (プレビュー)

次の表は、現在プレビュー段階でMicrosoftサポートされている X.509 証明書管理をサポートしている埋め込み SDK の一覧です。

RTOS SDK 情報源 サンプル
FreeRTOS FreeRTOS ミドルウェア Azure/azure-iot-middleware-freertos at feature/dps-csr-preview 該当なし
ベアメタル 埋め込み C のAzure SDK Azure/azure-sdk-for-c at feature/dps-csr-preview paho_iot_hub_csr_sample.c

コントロール プレーン API のAzure Digital Twins

コントロール プレーン API は、Azure Digital Twins インスタンス全体の管理に使用される ARM API であるため、インスタンス全体の作成や削除などの操作が対象となります。 また、エンドポイントの作成と削除にもこれらの API を使用します。

API を直接呼び出すには、control plane Swagger リポジトリの最新の Swagger フォルダーを参照します。 このフォルダーには、使用法を示す例が保存されているフォルダーも含まれています。

Azure Digital Twins コントロール プレーン API で現在使用できる SDK を次に示します。

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

データ プレーン API のAzure Digital Twins

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

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

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

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

次のステップ

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