ِAl*_*ush 7 environment-variables amazon-web-services node.js 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,
});
Run Code Online (Sandbox Code Playgroud)
这奏效了。
知道为什么 AWS SDK 不自动加载选项吗?
"aws-sdk": "^2.288.0",
"dotenv": "^6.0.0",
Run Code Online (Sandbox Code Playgroud)
小智 6
老问题,但回答是因为我在测试中遇到了这个问题。
这是由于首次需要或导入 SDK 时 AWS 开发工具包捕获了凭证。
当您运行时dotenv.config(),它已经完成了此操作并且不会重新读取环境变量。
自行更新 AWS 配置来设置值,是一个合理的解决方案。
小智 2
我遇到了同样的问题,然后发现我必须导出 shell 配置文件中的 env 变量(在我的例子中是 ~/.zshrc zsh - 只需添加,export AWS_ACCESS_KEY_ID=<key>对于其他 AWS vars 也是如此)。重新启动终端控制台,然后我的节点 aws sdk 能够拾取它。如果您使用的是节点 aws sdk,那么我建议process.env.AWS_ACCESS_KEY_ID在您的代码中打印以验证您的节点代码确实能够首先读取 env 变量。希望有帮助。
| 归档时间: |
|
| 查看次数: |
4805 次 |
| 最近记录: |