AWS_PROFILE无法使用aws cli

时间:2018-04-23 18:11:59

标签: aws-cli

我在macbook上安装了aws cli。我上周更新了版本,从那时起它似乎忽略了AWS_PROFILE环境变量?有没有遇到过这个?我现在必须在每个语句中添加--profile,以使其转向我更喜欢的配置文件。

有谁知道可能出现的问题或者我应该如何解决问题?

4 个答案:

答案 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