你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IoT 中心 REST
IoT 中心的 REST API 提供对设备、消息传送、作业服务以及资源提供程序的编程访问IoT 中心。 可以从在 Azure 中运行的 IoT 服务访问消息服务,或者直接通过 Internet 从任何可以发送 HTTPS 请求和接收 HTTPS 响应的应用程序访问。
服务
- 使用此 API 管理IoT 中心设备孪生。 可以检索和更新设备孪生属性,并在设备上调用 直接方法 。
- 使用这些 API 管理 IoT 中心的标识注册表中的设备标识。
- 使用这些 API 管理 IoT 中心 中的作业。 可以计划、取消或获取作业。
所有任务操作都符合 HTTP/1.1 协议规范,每个操作返回 x-ms-request-id
可用于获取请求相关信息的标头。 请务必确保对这些资源发出的请求都是安全的。 有关详细信息,请参阅IoT 中心开发人员指南 - 安全性,详细了解如何创建安全令牌。
设备消息传送
从设备使用这些 API 将设备到云的消息发送到 IoT 中心,并从 IoT 中心接收云到设备的消息。 所有任务操作都符合 HTTP/1.1 协议规范。 请务必确保对这些资源发出的请求都是安全的。 有关详细信息,请参阅 IoT 中心 开发人员指南 - 安全性,了解有关如何创建安全令牌的特定信息。
资源提供程序
使用这些 API 管理IoT 中心资源的部署。 有关如何保护这些请求的信息,请参阅 Azure REST API 参考。
常见参数和标头
以下信息是与IoT 中心相关的所有任务的通用信息:
将 {api-version} 替换为 URI 中的“2018-06-30”。
在 URI 中将 {subscription-id} 替换为你的订阅标识符。
将 {resourceGroupName} 替换为包含 (或将包含 ioT 中心) 的资源组名称。
将 {IoTHubName} 替换为 IoT 中心的名称。
将 Content-Type 表头设置为 application/json。
将 Authorization 标头设置为使用安全令牌IoT 中心安全令牌部分中指定的 SAS 令牌。
根据 RFC7232,Etag 标头在范围限定为单个设备标识的所有请求中返回。
所有 PUT/PATCH 操作都需要指定以下标头:
If-Match = [*|<etag from get>]
DELETE 操作可能包括以下标头:
If-Match = [*|<etag from get>]
ETag 的行为如下所示:
PUT | 资源不存在 | 资源存在 |
---|---|---|
If-Match = “” / absent | 201 Created | 200 正常 |
If-Match = “*” | 412 前提失败 | 200 正常 |
If-Match = “xyz” | 412 前提失败 | 200 正常/412 前置条件失败 |
If-None-Match = “*” | 201 Created | 412 前提失败 |
DELETE | 资源不存在 | 资源存在 |
---|---|---|
If-Match = “” / absent | 204 无内容 | 200 正常 |
If-Match = “*” | 204 无内容 | 200 正常 |
If-Match = “xyz” | 204 无内容 | 200 正常/412 前置条件失败 |
对于异步调用:
对于任何异步操作,PUT 响应 201 Created 和 Azure-AsyncOperation 标头。 所有同步 (更新) 操作返回 200 正常。
DELETE 返回 202 Accepted,其中包含 Location 和 Retry-After 标头以及存在的资源的 Azure-AsyncOperation 标头。
位置标头包含操作结果的 URL
Retry-After 标头包含适当的重试间隔(以秒为单位)
Azure-AsyncOperation 标头包含异步操作结果状态的 URL
完成后,操作结果 URL 的 GET 将生成与原始操作同步完成完全相同的结果