首页 > 解决方案 > 通过 REST API 获取 iothub 注册设备

问题描述

您好,我正在尝试通过 RESTAPI 获取在 IOTHUB 存在/注册的设备。但我很困惑如何获取所有设备。我已阅读此处的文档:IoT 中心服务 - 获取设备

但是当我发送请求时,我收到了错误

“消息”:“错误代码:IotHubUnauthorizedAccess;未授权”,“异常消息”:“跟踪 ID:a795ee1f7ae04adfa600333e45e9aa09-G:5-TimeStamp:06/29/2020 14:32:56”

为了获取设备,是否需要提供任何身份验证令牌?

标签: azureazure-iot-hubazure-iot-hub-device-management

解决方案


因此,为了快速入门,我们可以使用 Postman 和Azure IoT Hub 查询语言..+ SAS 令牌进行授权。

第 1 步:生成 SAS 令牌,如 Matthijs 所说,我们也可以快速使用设备资源管理器工具使用此链接找到SetupDeviceExplorer.msi。完全复制生成的 SAS 令牌。

在此处输入图像描述

第 2 步:构造查询体。

POST 查询类似于此示例。请参阅注册表管理器 - 查询物联网中心

发布 https://IOTHUB.azure-devices.net/devices/query?api-version=2020-03-13

{
  "query": "SELECT deviceId FROM devices"
}

在此处输入图像描述

第三步:授权使用SAS token,并发送请求进行测试。

在此处输入图像描述

可以从Get all devices from IoT Azure Hub中读取 RomanKiss 回答的类似线程。如果您知道进一步的帮助,请告诉我们!


推荐阅读