创建必要的 SAS-Key 与 Azure IoT-Hub 通信
Creating the necessary SAS-Key to communicate with the Azure IoT-Hub
我们目前正在使用 Azure IoT-Hub 从我们的物联网设备接收数据。他们目前正在使用 REST API 发送他们的数据,因此他们将 POST 数据发送到像 https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events
这样的地址
将 和 替换为它们的特定定义。对于授权,我将字段 "Authorization"
添加到 header 并粘贴了我使用 Azure IoT 插件为 VS 代码创建的设备的 SAS 令牌。到目前为止这是有效的,但我现在想自己创建令牌以进一步自动化。
MS 解释了如何创建令牌 on their site,但它对我不起作用(我已经尝试了 python 实现)。
对于 URI,我将使用上面的 URI,对于密钥,我将使用 IoT-Hub 中设备的密钥,但我不确定 policy_name 使用什么。我尝试了默认的“iothubowner”和设备名称。
此外,创建的 SAS 密钥的结构与 Azure IoT 插件创建的结构不同。
第一个包含sr
、sig
、se
和skn
部分,后面的sr
、sig
和se
如果您使用链接到的 Python 示例,则需要使用以下参数:
- URI:
<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13
不包括协议,包括 API 版本
- 键:
<primary/secondary key>
- policy_name:
None
作为设备连接时不需要策略名称|
这将生成一个正确的 SharedAccessSignature,您可以使用它来 POST
https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13
我们目前正在使用 Azure IoT-Hub 从我们的物联网设备接收数据。他们目前正在使用 REST API 发送他们的数据,因此他们将 POST 数据发送到像 https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events
将 "Authorization"
添加到 header 并粘贴了我使用 Azure IoT 插件为 VS 代码创建的设备的 SAS 令牌。到目前为止这是有效的,但我现在想自己创建令牌以进一步自动化。
MS 解释了如何创建令牌 on their site,但它对我不起作用(我已经尝试了 python 实现)。
对于 URI,我将使用上面的 URI,对于密钥,我将使用 IoT-Hub 中设备的密钥,但我不确定 policy_name 使用什么。我尝试了默认的“iothubowner”和设备名称。
此外,创建的 SAS 密钥的结构与 Azure IoT 插件创建的结构不同。
第一个包含sr
、sig
、se
和skn
部分,后面的sr
、sig
和se
如果您使用链接到的 Python 示例,则需要使用以下参数:
- URI:
<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13
不包括协议,包括 API 版本
- 键:
<primary/secondary key>
- policy_name:
None
作为设备连接时不需要策略名称|
这将生成一个正确的 SharedAccessSignature,您可以使用它来 POST
https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13