首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Azure IoT集线器的API访问读取模块孪生数据?

通过Azure IoT集线器的API访问读取模块孪生数据?
EN

Stack Overflow用户
提问于 2022-01-04 16:23:24
回答 1查看 144关注 0票数 1

我希望能够通过HTTPS请求提取IoT边缘设备的模块双胞胎,就像Azure所做的那样。在传送门,我看到了枪声..。

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

...and返回JSON。我也想在门户外做同样的事情(比如邮递员之类的)。

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

我试过创建一个共享访问签名并将其用作标题,如……

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

...but,我回来了,ErrorCode:IotHubUnauthorizedAccess;Unauthorized

我是不是遗漏了什么?也许是我用SAS来获得额外的证书之类的一步?

或者我不能创建一个适用于任何device-id的SAS

最后,我希望能够从我的任何一个GET集线器设备中为一个模块孪生体提供所报告的属性。没有设置,没有订阅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-04 17:27:20

您所指的API是文档化的这里。您做的是对的,但是您创建共享访问签名的方法可能行不通。创建有效的SAS令牌的一个简单方法是使用az cli命令az iot hub generate-sas-token -n <iot-hub-name>。默认情况下,它将为iothubowner策略创建一个令牌,该策略应该允许您访问模块双胞胎。

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

代码语言:javascript
复制
https://<my-iot-hub>.azure-devices.net/twins/<device-id>/modules/$edgeHub?api-version=2020-05-31-preview
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70581910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档