如何从 ~/.aws/config 加载配置
How to Load config from ~/.aws/config
change log 说
Load config from ~/.aws/config if AWS_SDK_LOAD_CONFIG is set.
找不到有关如何加载配置的任何示例或文档。任何帮助!
有这方面的文档:
- HERE: Loading Node Credentials Shared
- HERE: Loading Node Credentials JSON File
- HERE: Getting Started NodeJS
我建议安装 awscli 工具进行设置,然后在您的终端中安装 运行 aws configure
。默认情况下,您在本地主机上 运行 的任何内容都将采用您的 config
文件中列出的凭据,除非指定采用不同的配置文件。
来自第一个 link 的示例:
AWS.config.credentials = new AWS.SharedIniFileCredentials( { profile: 'work-account' } );
如果您使用 CLI 运行 您的脚本:
AWS_PROFILE=work-account node script.js
如果您只使用 CLI 工具而不是 JavaScript:
aws s3 ls --profile work-account
更新:
config
和 credentials
在同时 被制作和引用。当您 运行 aws configure
时,它会生成两个文件。 credentials
文件包含 AccessKey 和 SecretKey - config
文件包含响应类型和区域。没有必要明确定义或引用 config
文件。
aws-sdk 加载配置的方式有点神奇
要么设置环境变量
export AWS_SDK_LOAD_CONFIG="true"
或加载 aws-sdk 集之前
process.env.AWS_SDK_LOAD_CONFIG = true;
然后加载aws模块;
var AWS = require('aws-sdk');
您可以通过
直接访问该区域
AWS.config.region
是正确的。这似乎也是无需编写自定义函数即可执行此操作的唯一方法。
我在 source code 中对其进行了追踪,它的加载方式 ~/.aws/config
类似于此伪代码:
if process.env.AWS_SDK_LOAD_CONFIG:
return load('~/.aws/credentials').overwrite('~/.aws/config')
else:
return load('~/.aws/credentials')
这也意味着您可以在 require('aws-sdk')
之后设置环境变量,只要您在 new SharedIniFileCredentials({..})
或 credentials.refresh()
之前设置即可。请注意,在会话令牌过期之前,credentials.get()
将无法工作。
change log 说
Load config from ~/.aws/config if AWS_SDK_LOAD_CONFIG is set.
找不到有关如何加载配置的任何示例或文档。任何帮助!
有这方面的文档:
- HERE: Loading Node Credentials Shared
- HERE: Loading Node Credentials JSON File
- HERE: Getting Started NodeJS
我建议安装 awscli 工具进行设置,然后在您的终端中安装 运行 aws configure
。默认情况下,您在本地主机上 运行 的任何内容都将采用您的 config
文件中列出的凭据,除非指定采用不同的配置文件。
来自第一个 link 的示例:
AWS.config.credentials = new AWS.SharedIniFileCredentials( { profile: 'work-account' } );
如果您使用 CLI 运行 您的脚本:
AWS_PROFILE=work-account node script.js
如果您只使用 CLI 工具而不是 JavaScript:
aws s3 ls --profile work-account
更新:
config
和 credentials
在同时 被制作和引用。当您 运行 aws configure
时,它会生成两个文件。 credentials
文件包含 AccessKey 和 SecretKey - config
文件包含响应类型和区域。没有必要明确定义或引用 config
文件。
aws-sdk 加载配置的方式有点神奇
要么设置环境变量
export AWS_SDK_LOAD_CONFIG="true"
或加载 aws-sdk 集之前
process.env.AWS_SDK_LOAD_CONFIG = true;
然后加载aws模块;
var AWS = require('aws-sdk');
您可以通过
直接访问该区域AWS.config.region
我在 source code 中对其进行了追踪,它的加载方式 ~/.aws/config
类似于此伪代码:
if process.env.AWS_SDK_LOAD_CONFIG:
return load('~/.aws/credentials').overwrite('~/.aws/config')
else:
return load('~/.aws/credentials')
这也意味着您可以在 require('aws-sdk')
之后设置环境变量,只要您在 new SharedIniFileCredentials({..})
或 credentials.refresh()
之前设置即可。请注意,在会话令牌过期之前,credentials.get()
将无法工作。