2017-08-02 62 views
0

我使用Azure IoT HUB,我想連接到設備併發送/接收消息。通過AMQP連接到Azure物聯網集線器

首先我生成SaS令牌並連接到IoT HUB。

之後我創建新設備:創建新證書獲取指紋並將此指紋設置爲新設備。

最後我使用證書並通過AMQP連接到設備。安裝後 ,但得到的錯誤:

amqp:unauthorized-access

在連接數據包的目標地址爲 「設備/ {設備ID} /消息/事件」

有什麼不對?爲什麼我得到這個錯誤?

+0

你能展示代碼示例嗎? –

+0

@ RitaHan-MSFT什麼部分的代碼示例? – Anthony

+0

代碼示例能夠重現您的問題。你生成了,簽署了X.509證書嗎? –

回答

0

最有可能您通過SaS令牌錯誤。你在用什麼語言?您是使用預先存在的庫還是試圖手動實施AMQP?

看看this post是不是很好的文檔,庫源可以找到here

+0

我認爲我的SaS令牌是正確的,因爲我通過此令牌獲取設備列表。 我使用我自己的AMQP庫並且不使用任何Azure庫。 我在Objective-C上實現了我的解決方案。 – Anthony

+0

@Anthony獲取設備列表並連接到設備的SAS令牌是不同的。並且設備使用X509進行身份驗證不能與SAS令牌一起使用。 –

+0

@ RitaHan-MSFT我知道我必須選擇一個,我選擇了x.509的身份驗證。我僅將SaS令牌用於設備的用戶顯示列表。 但是,當我收到'attach'響應數據包時,我收到'detach'數據包的錯誤:'amqp:unauthorized-access' – Anthony

相關問題