2016-03-06 255 views
1

我使用Node.js SDK連接Raspberry PiAWS IoT以下this tutorial。我看到vim ~/.aws/credentialsAWS缺失身份驗證令牌

[default] 
aws_access_key_id = SOMETHING 
aws_secret_access_key = SOMETHINGELSE 

當我輸入命令aws iot describe-endpoint我得到如下回應如下:

{ 
    "endpointAddress": "A34SXNTM6AT7XH.iot.us-west-2.amazonaws.com" 
} 

然而,當我瀏覽到網址:https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com/ 我收到以下錯誤:

Missing Authentication Token 

enter image description here

任何想法可能是什麼錯誤,如何解決?

enter image description here

enter image description here

這裏是在~/certs文件夾中的文件:

[email protected]:~/certs $ ls 
certificate.pem.crt private.pem.key public.pem.key root-CA.pem 

回答

2

蒙娜麗莎,

您的自定義端點響應兩個協議:MQTT和HTTPS。但是,它不提供任何網頁內容,因此在瀏覽器中不能用作網站URL。您從aws iot describe-endpoint獲得的「endpointAddress」將被插入到您鏈接的Raspberry Pi示例中使用的Node.js Device SDK中(不是https://)。

您也可以使用端點的HTTPS版本的簽署在這裏進行AWS簽名版本4.更多請求裝置陰影接口:http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-rest-api.html在這裏:http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html雖然你可能會得到通過使用AWS CLI或會更快AWS SDK執行此類操作。

瑞安@ AWS

+3

很高興看到門票可以從AWS的工作人員直接回答。 – BMW

+0

嗨瑞安,這是否意味着考慮到我已經成功完成了教程中的所有步驟,這個「缺失的身份驗證令牌」應該被忽略? –

+0

同樣在cmdline.js文件中,默認情況下是否知道'〜/ certs'? '默認:{ 區域: '我們西-2', 協議: 'mqtts', 的clientId:clientIdDefault, 專用密鑰: 'private.pem.key', clientCert: 'certificate.pem.crt', caCert:'root-CA.crt',' –

1

默認情況下,示例程序將查找您的證書和私鑰文件的當前目錄,但你也可以使用「-f」選項,如果你想指定另一個目錄。至於您在嘗試從瀏覽器訪問端點時注意到的「Missing Authentication Token」消息,您可以放心地忽略它。

0

如果使用「TLS相互身份驗證」,您需要在端口8443連接,所以在你的榜樣,這將是https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com:8443/things/<thing_name>/shadow