拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 通过AzureIoTHub的API访问读取模块孪生资料?

通过AzureIoTHub的API访问读取模块孪生资料?

白鹭 - 2022-01-24 2126 0 0

我希望能够像 Azure 门户一样通过 HTTPS GET 请求拉取 IoT Edge 设备的模块孪生。在传送门中,我看到了这个射击……

https://my-hub.azure-devices.net/twins/my-device/modules/my-module?api-version=2020-09-30&_=164130947416

...并回传 JSON。我想在门户之外做同样的事情(比如在 Postman 或其他东西中)。

显然,通过登录到门户,我拥有允许这样做的凭据。

我试过创建一个共享访问签名并将其用作像这样的标题......

"Authorization": "SharedAccessSignature sr=my-hub.azure-devices.net&sig=...

...但我回来了 ErrorCode:IotHubUnauthorizedAccess;Unauthorized

我错过了什么吗?也许是我使用该 SAS 获得一些额外的凭证或其他什么的步骤?

或者也许我无法创建一个适用于任何 SAS 的 SAS device-id

最后,我希望能够GET从我的任何 IoT 中心设备报告模块孪生的属性。没有设定,没有订阅。

uj5u.com热心网友回复:

您所指的 API 记录在此处您正在做正确的事情,但您创建共享访问签名的方法可能不起作用。创建有效 SAS 令牌的一种简单方法是使用az cli 命令az iot hub generate-sas-token -n <iot-hub-name>. 默认情况下,它将为iothubowner策略创建一个令牌,这应该使您可以访问模块孪生。

我使用 Postman 和您提到的 Authorization 标头来检查我的设备 $edgeHub 模块的双胞胎:

https://<my-iot-hub>.azure-devices.net/twins/<device-id>/modules/$edgeHub?api-version=2020-05-31-preview
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *