当我发出命令aws config list
时,我得到以下默认配置文件的输出:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
但是,当我为命名的个人资料提供命令时,我会得到一个个人资料名称
$ aws configure list --profile MyProfile
Name Value Type Location
---- ----- ---- --------
profile MyProfile manual --profile
我已尝试aws configure set profile Default
通过阅读“this page”CLI命令将默认配置文件命名为Default
,我也尝试了aws configure set StoreAs Default
,因为我认为这就是变量以我读{{3}}命名。我想这样做,因为我想要两个配置文件,我想使用AWS_DEFAULT_PROFILE
环境变量在配置文件之间切换。
答案 0 :(得分:19)
我也有多个配置文件,我使用AWS_DEFAULT_PROFILE来回切换。但是,我已将每个配置文件命名为描述性内容,例如&#34; aws-engineering&#34;和&#34; aws-production&#34;。然后,我可以使用set AWS_DEFAULT_PROFILE=aws-engineering
,我很高兴。
我的〜/ .aws / config中没有指定DEFAULT配置文件,这是故意的,因此我总是明确地选择我正在处理的环境。
答案 1 :(得分:10)
在命令行设置AWS_DEFAULT_PROFILE
环境变量应指定配置文件。
请参阅:Can I specify a default AWS configuration profile?
例如:
export AWS_DEFAULT_PROFILE=user2
注意:要取消设置,请运行:unset AWS_DEFAULT_PROFILE
。
要使更改保持不变,请将以上行添加到~/.bashrc
用户的文件中。
set AWS_DEFAULT_PROFILE=user2
来源:User Guide » Configuring the AWS CLI » Named Profiles。
另请参阅:A New and Standardized Way to Manage Credentials in the AWS SDKs。
答案 2 :(得分:4)
您只需切换到所需的配置文件(例如:在Linux中使用:export AWS_DEFAULT_PROFILE=MyProfile
),然后使用export AWS_DEFAULT_PROFILE=default
切换回默认配置文件。 'default'是您创建第一个配置文件时为其指定的配置文件名称。
答案 3 :(得分:1)
在 Windows 中,如果要确保在新的命令行会话中配置文件的更改仍然存在,则最好使用setx
setx AWS_DEFAULT_PROFILE profle_name
记住要关闭命令提示符并打开一个新的