我正在关注this tutorial用于使用 Node.js SDK 将 Raspberry Pi
连接到 AWS IoT
。我在 vim ~/.aws/credentials
[default]
aws_access_key_id = SOMETHING
aws_secret_access_key = SOMETHINGELSE
当我输入命令 aws iot describe-endpoint
时,我得到以下响应:
{
"endpointAddress": "A34SXNTM6AT7XH.iot.us-west-2.amazonaws.com"
}
但是,当我浏览到该 URL 时:https://a34sxntm6at7xh.iot.us-west-2.amazonaws.com/ 我收到以下错误:
Missing Authentication Token
知道可能出了什么问题以及如何解决吗?
这是 ~/certs
文件夹中的文件:
pi@raspberrypi:~/certs $ ls
certificate.pem.crt private.pem.key public.pem.key root-CA.pem
最佳答案
莫娜,
您的自定义端点响应两种协议(protocol):MQTT 和 HTTPS。但是,它不提供任何 Web 内容,因此不能在浏览器中作为站点 URL 运行。您从 aws iot describe-endpoint
获得的“endpointAddress”将插入您在链接的 Raspberry Pi 示例中使用的 Node.js 设备 SDK(没有 https://
)。
您还可以通过使用 AWS 签名版本 4 签署请求,使用 HTTPS 版本的终端节点与设备影子进行交互。更多信息请参见: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
关于rest - AWS 缺少身份验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35833160/