我在macbook上安装了aws cli。我上周更新了版本,从那时起它似乎忽略了AWS_PROFILE环境变量?有没有遇到过这个?我现在必须在每个语句中添加--profile,以使其转向我更喜欢的配置文件。
有谁知道可能出现的问题或者我应该如何解决问题?
答案 0 :(得分:6)
根据此链接:AWS CLI environment variables Precedence
如果设置了AWS_PROFILE环境变量并且设置了AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量,则AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY提供的凭证将覆盖AWS_PROFILE提供的配置文件中的凭证。
您必须同时取消设置AWS_ACCESS_KEY_ID和&AWS_SECRET_ACCESS_KEY并设置AWS_PROFILE,然后它才能正常工作。
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
export AWS_PROFILE=AWS_USER_PROFILE
答案 1 :(得分:4)
对我来说这看起来像个错误。
如果我没有为个人资料设置任何内容,请检查我的设置:
15278-gmcdaid:~ gmcdaid$ aws configure list
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
现在,设置env var:
15278-gmcdaid:~ gmcdaid$ export AWS_PROFILE=foo
再次检查设置:
15278-gmcdaid:~ gmcdaid$ aws configure list
Name Value Type Location
---- ----- ---- --------
profile foo manual --profile
您可以看到,当设置AWS_PROFILE时,cli设置为使用配置文件的手动开关,而不是env var。
我在你发这篇文章的同时安装了aws-cli。
答案 2 :(得分:2)
我只是将AWS_PROFILE设置为shell变量而不是环境变量。设置为环境变量后,一切都按预期工作。
答案 3 :(得分:0)
只需用另一句话重新声明并清除命令:
运行set | grep AWS
,如果您在那里看到任何凭据,那么AWS_PROFILE
将被忽略
如果您将变量设置为
AWS_PROFILE=boo
它不起作用。改为导出它:
export AWS_PROFILE=boo