如何在AWS CLI中设置默认配置文件的名称?

The*_*ner 25 amazon-web-services aws-cli

当我发出命令时aws config list,我得到以下默认配置文件的输出:

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
Run Code Online (Sandbox Code Playgroud)

但是,当我为命名的配置文件提供命令时,我会得到一个配置文件名称

$ aws configure list --profile MyProfile
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                MyProfile           manual    --profile
Run Code Online (Sandbox Code Playgroud)

我试图aws configure set profile Default命名默认配置为Default通过读取" 设置 " CLI命令,我也试过aws configure set StoreAs Default,因为我认为这是什么我看了之后变量命名此页.我想这样做是因为我想要两个配置文件,我想使用AWS_DEFAULT_PROFILE环境变量在配置文件之间切换.

小智 28

我也有多个配置文件,我使用AWS_DEFAULT_PROFILE来回切换.但是,我已经将每个配置文件命名为描述性内容,例如"aws-engineering"和"aws-production".然后,我可以使用set AWS_DEFAULT_PROFILE=aws-engineering,我很高兴去.

我的〜/ .aws/config中没有指定DEFAULT配置文件,这是故意的,所以我总是明确地选择我正在处理的环境.

  • 这个答案已经过时了。[用于配置 AWS CLI 的环境变量](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) 未提及“AWS_DEFAULT_PROFILE”。相反,请使用“AWS_PROFILE”。 (9认同)
  • 没有默认值是一件聪明的事情!避免因使用错误的配置文件而发生(可能代价高昂的)事故。 (3认同)
  • 如果您使用的是 bash 并且想要额外的安全性,您还可以在命令前添加一个空格,这样 bash 就不会将其存储在命令历史记录日志中 (/sf/answers/2043194331/) (2认同)

ken*_*orb 18

AWS_DEFAULT_PROFILE在命令行设置环境变量应指定配置文件.

请参阅:我可以指定默认的AWS配置文件吗?

例如:

Linux,macOS或Unix

export AWS_DEFAULT_PROFILE=user2
Run Code Online (Sandbox Code Playgroud)

注意:要取消设置,请运行:unset AWS_DEFAULT_PROFILE.

要使更改持久,请将上面的行添加到~/.bashrc用户的文件中.

视窗

set AWS_DEFAULT_PROFILE=user2
Run Code Online (Sandbox Code Playgroud)

来源:用户指南»配置AWS CLI»命名配置文件.

另请参阅:在AWS开发工具包中管理凭据的新的标准化方法.


小智 8

如果您想将自己的配置文件设置为默认配置文件,那么您应该考虑更改 shell 的启动脚本。

对于 Powershell,您可以这样做。

$Env:AWS_PROFILE="admin"
Run Code Online (Sandbox Code Playgroud)

这里的配置文件名称是admin.

在 Linux 和 macOS 中你可以做这样的事情。

export AWS_PROFILE=admin
Run Code Online (Sandbox Code Playgroud)

如果更改持续存在,那么一切都很好,否则对您的~/.bashrc或进行更改~/.zshrc


The*_*ner 5

您只需切换到所需的配置文件(例如,在Linux中使用:)export AWS_DEFAULT_PROFILE=MyProfile,然后使用切换回默认配置文件export AWS_DEFAULT_PROFILE=default。“默认”是创建时为第一个配置文件提供的配置文件名称。

  • 这个答案已经过时了;请参阅[已接受的答案](/sf/answers/2650668471/) 的评论。 (2认同)

Sub*_*dar 5

Windows 中,如果您想确保配置文件的更改在新的命令行会话中持续存在,最好使用 setx

setx AWS_DEFAULT_PROFILE profle_name
Run Code Online (Sandbox Code Playgroud)

记得关闭命令提示符并打开一个新的