Azure IoT SDK

下表列出可用來建置IoT解決方案的各種SDK。

裝置 SDK

Microsoft Azure IoT 裝置 SDK 包含的程式代碼,可協助建置可連線及由 Azure IoT 中樞 服務管理的應用程式。 這些 SDK 可以在一般 MPU 型運算裝置上執行,例如電腦、平板電腦、智慧型手機或 Raspberry Pi。 SDK 支援以 C 和新式受控語言開發,包括 C#、Node.JS、Python 和 JAVA。

SDK 提供多種語言SDK,提供彈性來選擇最適合您的小組和案例。

Language Package 來源 快速入門 範例 參考
.NET NuGet (英文) GitHub 連線 至 IoT 中樞 範例 參考
Python 匹 普 GitHub 連線 至 IoT 中樞 範例 參考
Node.js npm \(英文\)  GitHub 連線 IoT 中樞 範例 參考
Java Maven GitHub 連線 IoT 中樞 範例 參考
C GitHub 要 IoT 中樞 連線 範例 參考

Java 裝置 SDK 包含 適用於 Android 的範例。

C 裝置 SDK 包含 使用 CocoaPods 的 iOS 範例

警告

Azure IoT C SDK 不適用於內嵌應用程式,因為其記憶體管理和線程模型。 如需內嵌裝置 SDK 選項,請參閱內嵌裝置 SDK。

使用裝置 SDK 開發程式代碼,以在連線到 IoT 中樞 或 IoT Central 的 IoT 裝置上執行。

若要深入瞭解如何使用裝置 SDK,請參閱 什麼是 Azure IoT 裝置和應用程式開發?

內嵌裝置 SDK

這些 SDK 的設計和建立目的是在具有有限計算和記憶體資源的裝置上執行,並使用 C 語言來實作。

內嵌裝置 SDK 適用於 多個作業系統 ,提供彈性來選擇最適合您案例的裝置 SDK。

RTOS SDK 來源 範例 參考
Eclipse ThreadX Azure RTOS 中間件 GitHub 快速入門 參考
FreeRTOS FreeRTOS 中間件 GitHub 範例 參考
裸機 Azure SDK for Embedded C GitHub 範例 參考

使用內嵌裝置 SDK 來開發程式代碼,以在連線到 IoT 中樞 或 IoT Central 的 IoT 裝置上執行。

若要深入瞭解何時使用內嵌裝置 SDK,請參閱 C SDK 和內嵌 C SDK 使用案例

裝置 SDK 生命週期和支援

本節摘要說明 Azure IoT 裝置 SDK 生命週期和支持原則。 如需詳細資訊,請參閱 Azure SDK 生命週期和支持原則

套件生命週期

套件會以下列類別發行。 每個類別都有一個定義的支持結構。

  1. Beta - 也稱為預覽或候選版。 適用於早期存取和意見反應用途, 不建議 用於生產環境。 預覽版本支援僅限於 GitHub 問題。 預覽版本通常會存有不到六個月的時間,之後會淘汰或發行為使用中版本。

  2. 使用中 - 正式推出且完全支援、接收新功能更新,以及 Bug 和安全性修正。 我們建議客戶使用 最新版本 ,因為該版本會收到修正和更新。

  3. 已淘汰 - 由較新版本取代。 取代會在新版本變成使用中時發生。 已淘汰的版本可解決另外 12 個月最重要的錯誤修正和安全性修正。

取得支援

如果您在使用 Azure IoT SDK 時遇到問題,有數種方式可尋求支援:

  • 報告錯誤 - 所有客戶都可以在與相關 SDK 相關聯的 GitHub 存放庫問題頁面上回報 Bug。

  • Microsoft 客戶支援小組 - 擁有支援方案的使用者可以直接從 Azure 入口網站 建立支援票證,以吸引 Microsoft 客戶支援小組。

IoT 中樞 服務 SDK

Azure IoT 服務 SDK 包含程式代碼,可協助建置直接與 IoT 中樞 互動的應用程式,以管理裝置和安全性。

平台 套件 程式碼存放庫 範例 參考
.NET NuGet (英文) GitHub 範例 參考
Java Maven GitHub 範例 參考
節點 npm \(英文\) GitHub 範例 參考
Python 匹 普 GitHub 範例 參考

若要深入瞭解如何使用服務 SDK 透過 IoT 中樞與裝置互動,請參閱 IoT 隨插即用 服務開發人員指南

IoT 中樞 管理 SDK

IoT 中樞 管理 SDK 可協助您建置後端應用程式,以管理 Azure 訂用帳戶中的 IoT 中樞。

平台 套件 程式碼存放庫 參考
.NET NuGet (英文) GitHub 參考
Java Maven GitHub 參考
Node.js npm \(英文\) GitHub 參考
Python 匹 普 GitHub 參考

管理 SDK 的替代方案包括 Azure CLIPowerShellREST API

DPS 裝置 SDK

DPS 裝置 SDK 提供註冊 API 的實作,以及裝置透過 DPS 呼叫以布建的其他裝置實作。 裝置 SDK 可以在一般 MPU 型計算裝置上執行,例如電腦、平板電腦、智慧型手機或 Raspberry Pi。 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 匹 普 GitHub 範例 快速入門 參考

警告

上述 C SDK 不適用於內嵌應用程式,因為它的記憶體管理和線程模型。 針對內嵌裝置,請參閱 內嵌裝置 SDK

DPS 內嵌裝置 SDK

這些 SDK 的設計和建立目的是在具有有限計算和記憶體資源的裝置上執行,並使用 C 語言來實作。

RTOS SDK 來源 範例 參考
Eclipse ThreadX Azure RTOS 中間件 GitHub 快速入門 參考
FreeRTOS FreeRTOS 中間件 GitHub 範例 參考
裸機 Azure SDK for Embedded C GitHub 範例 參考

深入瞭解IoT 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 匹 普 GitHub 參考

Azure Digital Twins 控制平面 API

控制平面 API 是 用來管理整個 Azure Digital Twins 實例的 ARM API,因此涵蓋建立或刪除整個實例等作業。 您也將使用這些 API 來建立和刪除端點。

若要直接呼叫 API,請參考控制平面 Swagger 存放庫中的最新 Swagger 資料夾。 此資料夾也包含顯示使用方式的範例資料夾。

以下是 Azure Digital Twins 控制平面 API 目前可用的 SDK。

SDK 語言 套件連結 參考文件 原始程式碼
.NET (C#) NuGet 上的 Azure.ResourceManager.DigitalTwins 適用於 .NET 的 Azure DigitalTwins SDK 參考 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 實例內元素的 Azure Digital Twins API。 它們包括建立路由、上傳模型、建立關聯性及管理對應項等作業,而且可廣泛分成下列類別:

  • DigitalTwinModels - DigitalTwinModels 類別包含 API 來管理 Azure Digital Twins 實例中的模型 。 管理活動包括上傳、驗證、擷取和刪除在 DTDL 中撰寫的模型。
  • DigitalTwins - DigitalTwins 類別包含 API,可讓開發人員在 Azure Digital Twins 實例中建立、修改和刪除 數位 對應項及其關聯性。
  • Query - 查詢類別可讓開發人員 跨關聯性,在對應項圖表 中尋找一組數字對應項。
  • Event Routes - 事件路由類別包含 API,可 透過系統和下游服務來路由數據
  • Import Jobs - 匯入作業 API 可讓您管理長時間執行的異步動作,以 大量匯入模型、對應項和關聯性。
  • Delete Jobs - 刪除作業 API 可讓您管理長時間執行的異步動作,以 刪除實例中的所有模型、對應項和關聯性。

若要直接呼叫 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 com.azure:azure-digitaltwins-core on Maven 適用於 Java 的 Azure Digital Twins SDK 參考 GitHub 上的適用於 Java 的 Azure IoT Digital Twins 用戶端連結庫
JavaScript npm 上的適用於 JavaScript 的 Azure Azure Digital Twins Core 用戶端連結庫 Reference for @azure/digital-twins-core GitHub 上適用於 JavaScript 的 Azure Azure Digital Twins Core 用戶端連結庫
Python 適用於 PyPI 上 Python 的 Azure Azure Digital Twins Core 用戶端連結庫 azure-digitaltwins-core 的參考 GitHub 上適用於 Python 的 Azure Azure Digital Twins Core 用戶端連結庫

下一步

建議的後續步驟包括: