node.js - AWS JS SDK 不从环境变量加载凭证

标签 node.js amazon-web-services environment-variables aws-sdk

我将 .env 文件配置为具有 AWS 凭证,但它不起作用。

在文档中,写到配置将自动从 .env 文件加载。但事实并非如此。

我尝试添加以下内容

    aws.config.update({
    region: process.env.AWS_region,
    accessKeyId: process.env.AWS_ACCESS_KEY_ID,
    secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
});

这奏效了。

知道为什么 AWS SDK 不自动加载选项吗?

"aws-sdk": "^2.288.0",
"dotenv": "^6.0.0",

最佳答案

老问题,但因为我在测试中遇到了这个问题而回答。

这是因为 AWS SDK 在首次需要或导入 SDK 时捕获凭证。

当你运行 dotenv.config() 时,它已经完成了这个并且不会重新读取环境变量。

自行更新 AWS 配置设置值,是一个合理的解决方案。

关于node.js - AWS JS SDK 不从环境变量加载凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743555/

相关文章:

javascript - Node.js MySQL 连接问题

javascript - 使用 Electron (Atom Shell) 时的客户端/服务器模型是什么?

javascript - Amazon Alexa 无法识别号码槽

amazon-web-services - S3存储: Make a bucket folder private

ruby-on-rails - 如何在 Rails 应用程序中设置环境变量?

node.js - 如何使用jquery或angularjs在jade模板中创建弹出窗口

node.js - 使用 Cloud Functions REST API 请求将文件存储在 Firebase Storage 中

amazon-web-services - aws kinesis 迭代器过期后如何刷新?

windows - 如何在 Windows 批处理文件中检索 P4 ROOT 变量值?

docker - 在 docker run 命令中传递多个 env 文件