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

什么是 Azure IoT 操作 SDK(预览版)?

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 文档

后续步骤

试用 快速入门:开始使用 Azure IoT作 SDK 进行开发(预览版)