[英]Creating the necessary SAS-Key to communicate with the Azure IoT-Hub
我們目前正在使用 Azure IoT-Hub 從我們的物聯網設備接收數據。 他們目前正在使用 REST API 發送他們的數據,因此他們會將數據發布到https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events
這樣的地址
將 <iothubname> 和 <deviceID> 替換為它們的特定定義。 對於授權,我已將"Authorization"
字段添加到 header,並粘貼了我使用 Azure IoT 插件為 VS 代碼創建的設備的 SAS 令牌。 到目前為止這是有效的,但我現在想自己創建令牌以進一步自動化。
MS 解釋了如何在他們的網站上創建令牌,但它對我不起作用(我已經嘗試過 python 實現)。
對於 URI,我將使用上面的那個,對於密鑰,我將使用來自 IoT-Hub 中設備的密鑰,但我不確定將什么用於 policy_name。 我嘗試了默認的“iothubowner”和設備名稱。
此外,創建的 SAS 密鑰的結構與 Azure IoT 插件創建的密鑰的結構不同。
第一個包含部分sr
、 sig
、 se
和skn
,后面是sr
、 sig
和se
如果您使用鏈接到的 Python 示例,則需要使用以下參數:
<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13
不包含協議,包含 API 版本
<primary/secondary key>
None
作為設備連接時不需要策略名稱|
這將生成一個正確的 SharedAccessSignature,您可以使用它來 POST 到https://<iothubname>.azure-devices.net/devices/<deviceID>/messages/events?api-version=2020-03-13
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.