你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure IoT SDK

下表列出了可用于生成 IoT 解决方案的各种 SDK。

设备 SDK

Microsoft Azure IoT 设备 SDK 包含的代码可帮助构建连接到 Azure IoT 中心服务并由这些服务管理的应用程序。 这些 SDK 可以在基于 MPU 的常规计算设备上运行,例如电脑、平板电脑、智能手机或 Raspberry Pi。 SDK 支持使用 C 和新式托管语言(包括 C#、Node.JS、Python 和 Java)进行开发。

SDK 支持多种语言,你可以灵活地选择其中最适合团队和方案的一种。

语言 程序包 Source 快速入门 示例 参考
.NET NuGet GitHub 连接到 IoT 中心 示例 引用
Python pip 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 支持多种操作系统,你可以灵活地选择其中最适合方案的一种。

RTOS SDK 示例 参考
Eclipse ThreadX Azure RTOS 中间件 GitHub 快速入门 引用
FreeRTOS FreeRTOS 中间件 GitHub 示例 引用
裸机 适用于嵌入式 C 的 Azure SDK GitHub 示例 引用

使用嵌入式设备 SDK 开发代码,以在连接到 IoT 中心或 IoT Central 的 IoT 设备上运行。

要详细了解何时使用嵌入式设备 SDK,请参阅 C SDK 和嵌入式 C SDK 使用方案

设备 SDK 生命周期和支持

本部分汇总了 Azure IoT 设备 SDK 生命周期和支持策略。 有关详细信息,请参阅 Azure SDK 生命周期和支持策略

包生命周期

包将按以下类别发布。 每个类别都有一个已定义的支持结构。

  1. Beta - 也称为预览版或候选发布。 可供早期访问,或出于反馈目的访问,不建议在生产环境中使用。 对预览版的支持仅限于 GitHub 问题。 预览版通常生存不到六个月,之后它们要么弃用,要么作为活动版本发布。

  2. 活动 - 正式发布且完全受支持,可接收新功能更新以及 bug 和安全修复。 我们建议客户使用最新版本,因为它们会收到修补程序和更新。

  3. 已弃用 - 由较新版本取代。 弃用是在新版本变为活动状态的同时发生的。 弃用的版本会处理接下来 12 个月中最关键的 bug 修复和安全修补程序。

获取支持

如果你在使用 Azure IoT SDK 时遇到问题,可以通过多种方式来寻求支持:

  • 报告 bug - 所有客户都可以在与相关 SDK 关联的 GitHub 存储库的问题页面上报告 bug。

  • Microsoft 客户支持团队 - 拥有支持计划的用户可以通过直接从 Azure 门户创建支持票证来与 Microsoft 客户支持团队进行沟通。

IoT 中心服务 SDK

Azure IoT 服务 SDK 包含的代码可帮助生成直接与 IoT 中心进行交互以管理设备和安全性的应用程序。

平台 程序包 代码存储库 示例 参考
.NET NuGet GitHub 示例 引用
Java Maven GitHub 示例 引用
节点 npm GitHub 示例 引用
Python pip GitHub 示例 引用

要详细了解如何使用服务 SDK 通过 IoT 中心与设备交互,请参阅 IoT 即插即用服务开发人员指南

IoT 中心管理 SDK

IoT 中心管理 SDK 可帮助你生成管理 Azure 订阅中的 IoT 中心的后端应用程序。

平台 程序包 代码存储库 参考
.NET NuGet GitHub 引用
Java Maven GitHub 引用
Node.js npm GitHub 引用
Python pip GitHub 引用

管理 SDK 的替代项包括 Azure CLIPowerShellREST API

DPS 设备 SDK

DPS 设备 SDK 提供注册 API 和设备调用以通过 DPS 进行预配的其他 API 的实现。 设备 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 pip GitHub 示例 快速入门 引用

警告

上述 C SDK 因其内存管理和线程模型不适合嵌入式应用程序 。 对于嵌入式设备,请参阅嵌入式设备 SDK

DPS 嵌入式设备 SDK

这些 SDK 是为在计算和内存资源有限的设备上运行而设计和创建的,并且使用 C 语言来实现。

RTOS SDK 示例 参考
Eclipse ThreadX Azure RTOS 中间件 GitHub 快速入门 引用
FreeRTOS FreeRTOS 中间件 GitHub 示例 引用
裸机 适用于嵌入式 C 的 Azure SDK 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 pip GitHub 引用

Azure 数字孪生控制平面 API

控制平面 API 是用于将 Azure 数字孪生实例作为一个整体进行管理的 ARM API,因此它们涵盖了创建实例或删除实例等操作。 你还将使用这些 API 来创建和删除终结点。

要直接调用 API,可引用控制平面 Swagger 存储库中最新的 Swagger 文件夹。 此文件夹还包括一个示例文件夹,其中显示了用法。

下面是目前可用于 Azure 数字孪生控制平面 API 的 SDK。

SDK 语言 包链接 参考文档 源代码
.NET (C#) NuGet 上的 Azure.ResourceManager.DigitalTwins 适用于 .NET 的 Azure DigitalTwins SDK 参考 GitHub 上适用于 .NET 的 Microsoft Azure 数字孪生管理客户端库
Java Maven 上的 azure-resourcemanager-digitaltwins 资源管理参考 - 数字孪生 GitHub 上适用于 Java 的 Azure 资源管理器 AzureDigitalTwins 客户端库
JavaScript npm 上适用于 JavaScript 的 AzureDigitalTwinsManagement 客户端库 GitHub 上适用于 JavaScript 的 AzureDigitalTwinsManagement 客户端库
Python PyPI 上的 azure-mgmt-digitaltwins GitHub 上适用于 Python 的 Microsoft Azure SDK
Go azure-sdk-for-go/services/digitaltwins/mgmt GitHub 上适用于 Go 的 Azure SDK

Azure 数字孪生数据平面 API

数据平面 API 是用于管理 Azure 数字孪生实例中的元素的 Azure 数字孪生 API。 这包括创建路由、上传模型、创建关系和管理孪生等操作,并且可大体上可以划分为以下类别:

要直接调用 API,可引用数据平面 Swagger 存储库中最新的 Swagger 文件夹。 此文件夹还包括一个示例文件夹,其中显示了用法。 还可以查看数据平面 API 参考文档

下面是目前可用于 Azure 数字孪生数据平面 API 的 SDK。

SDK 语言 包链接 参考文档 源代码
.NET (C#) NuGet 上的 Azure.DigitalTwins.Core 适用于 .NET 的 Azure IoT 数字孪生客户端库参考 GitHub 上适用于 .NET 的 Azure IoT 数字孪生客户端库
Java Maven 上的 com.azure:azure-digitaltwins-core 适用于 Java 的 Azure 数字孪生 SDK 参考 GitHub 上适用于 Java 的 Azure IoT 数字孪生客户端库
JavaScript npm 上适用于 JavaScript 的 Azure 数字孪生核心客户端库 Reference for @azure/digital-twins-core GitHub 上适用于 JavaScript 的 Azure 数字孪生核心客户端库
Python PyPI 上适用于 Python 的 Azure 数字孪生核心客户端库 azure-digitaltwins-core 参考 GitHub 上适用于 Python 的 Azure 数字孪生核心客户端库

后续步骤

建议执行的后续步骤包括: