在Elastic Beanstalk环境中初始化AWS IoT JavaScript客户端

时间:2018-01-26 23:43:08

标签: amazon-web-services elastic-beanstalk aws-iot aws-iam

我使用AWS IoT JavaScript SDK作为部署在AWS Elastic Beanstalk上的应用程序的一部分。尝试初始化客户端时,出现以下错误:Failed to read credentials from /tmp/.aws/credentials

这是有道理的,因为我的Elastic Beanstalk环境可以通过其IAM角色访问AWS服务,而不是通过凭证文件。因此,当我的环境使用IAM角色而不是文件时,如何初始化客户端?

以下是我正在使用的代码:

const awsIot = require("aws-iot-device-sdk");

const device = awsIot.device({
    host: "myhost.region.amazonaws.com",
    protocol: "wss",
});

1 个答案:

答案 0 :(得分:0)

在阅读此GitHub issue之后,看起来我需要通过STS,Cognito或其他服务以及refresh the client获得临时凭证,并在这些凭据到期之前定期使用这些凭据。