你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure IoT 操作 SDK 是一套跨多种语言的工具和库,旨在帮助开发 Azure IoT 操作的边缘应用程序。 SDK 的重点是通过提供以下功能来帮助客户开发边缘应用程序:
| 功能 / 特点 | DESCRIPTION |
|---|---|
| 高度可用 | 提供基础结构和指导,以在应用程序中生成高可用性。 |
| 语言选择 | SDK 面向多种语言以支持任何开发环境。 今天支持的语言为 C#、Go 和 Rust。 |
| 安全 | 使用最新的加密库和协议。 |
| 零数据丢失 | 基于 MQTT 中转站生成,以删除由于应用程序故障而导致的数据丢失。 |
| 低延迟 | 优化的分层和紧密的 MQTT 客户端耦合将开销降到最低。 |
| 与 Azure IoT Operations Services 集成 | 软件库提供对状态存储等服务的访问权限。 |
| 简化复杂的消息传送 | 利用远程过程调用 (RPC) 的实现,在应用程序之间通过 MQTT v5 提供通信支持。 |
| 支持 | 在 Microsoft,有一个专门的团队负责维护和支持 SDK。 |
SDK 是开源的,可在 GitHub 上使用:
重要
Azure IoT 操作 SDK 当前为预览版。 Azure IoT Operations SDK GitHub 存储库中的资产可用于早期访问和反馈。
SDK 的优点
与直接使用 MQTT 客户端相比,SDK 提供了一个应用程序框架,用于抽象 MQTT 概念、公开干净的 API 图面,并支持 协议编译器(codegen) 从 数字孪生定义语言(DTDL) 模型生成客户端和服务器代码。 SDK 可用于在边缘生成高度可用的应用程序,这些应用程序与 Azure IoT作交互以执行 资产发现、 协议转换 和数据 转换等作。
使用 SDK 的主要优势包括:
- 连接:保持与 MQTT 代理的安全连接,包括轮换服务器证书和身份验证密钥。
- 安全性:支持使用凭据轮换进行 SAT 或 X.509 证书身份验证。
- 配置:通过文件系统、环境或连接字符串配置 MQTT Broker 连接。
- 服务:为 Azure IoT Operations 服务提供客户端库,以便简化开发。
- 协议编译器(codegen):通过 RPC 和遥测提供客户端和服务器之间的协定保证。
- 高可用性:构建基块,用于通过状态存储和租约锁生成高度可用的应用。
- 有效负载格式:支持使用 codegen 时内置的多个序列化格式。
SDK 的组件
SDK 提供了许多组件,旨在简化和增强易用性。
一个增强型的 会话客户端 ,为 MQTT 客户端添加了重新连接和身份验证功能,以提供无缝的连接体验。
一组协议基元,旨在帮助创建基于基本协议实现构建的应用程序: 命令 和 遥测。
一组客户端,提供与 Azure IoT作服务的集成,例如 状态存储、 租约锁、 Azure 设备注册表和 架构注册表。
协议编译器(codegen),它允许客户端和服务器通过架构协定进行通信。 首先描述使用DTDL进行的通信(利用遥测和命令),然后为支持的编程语言生成一组客户端库和服务器存根。
详细了解 SDK 的基础术语和不同组件:
- 组件 - 每个组件的大纲及其功能。
应用程序类型
SDK 支持以下应用程序类型:
| 应用程序类型 | DESCRIPTION |
|---|---|
| Edge 应用程序 | 需要与各种 Azure IoT 操作服务(例如 MQTT 代理和状态存储)进行交互的通用边缘应用程序。 SDK 提供方便的客户端来简化开发体验。
Edge 应用程序是客户托管的项目,包括到群集的部署和监视执行。 |
| Akri 连接器 | Akri 运算符服务部署的专用边缘应用程序,旨在与本地设备进行交互。 Akri 连接器负责使用本机协议保护与下行设备和资源的连接,将遥测和数据发送到上游 Azure IoT 运营组件,并可以选择检测资产以便将其引入 Azure 设备注册表。
Akri 连接器的部署由 Akri 运算符服务自动管理。 |
示例和教程
查看 示例 目录,以获取有关使用受支持语言创建适用于 Azure IoT 操作的应用程序的示例。
若要将功能齐全的应用程序部署到群集并查看运行中的 SDK,请按照 教程:生成事件驱动应用。
SDK 参考文档
如需 SDK 实现、其基本基元和协议,以及用于通过 MQTT 进行通信的基础主题和有效负载结构的相关结构,请参阅 Azure IoT 操作 SDK GitHub 文档。