每次我想使用AWS进行配置时,都会出现以下错误:
"The config profile (myname) could not be found"
像:AWS配置
我正在使用Python 3.4,并且想使用AWS CLI密钥环来加密我的凭证。
Answers:
我认为http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html中的AWS文档中缺少一些内容,但没有提到您应该编辑文件~/.aws/config
以添加用户名配置文件。有两种方法可以做到这一点:
编辑~/.aws/config
或
aws configure --profile "your username"
aws configure
吗?似乎您需要手动引导配置文件。谢谢。
当我搬到一台新机器上并携带我的AWS_DEFAULT_PROFILE环境变量而不是我的〜/ .aws目录时,遇到了这个问题。在取消设置变量或正确配置命名配置文件之前,我无法使用任何awscli命令。但是,即使aws configure
命令已中断,也使操作变得有些棘手。假设您有一个类似Unix的shell:
env | grep AWS_
unset AWS_DEFAULT_PROFILE
aws --profile foo configure
exec $SHELL
aws iam get-user
AWS_PROFILE
env var的相同问题。只要unset AWS_PROFILE
再执行AWS配置*命令。
使用配置文件有点棘手。可以在以下位置找到文档:https : //docs.aws.amazon.com/cli/latest/topic/config-vars.html(但您需要注意诸如AWS_PROFILE之类的环境变量)
在aws cli中使用配置文件需要一个配置文件(默认为,~/.aws/config
或使用设置AWS_CONFIG_FILE
)。一个示例配置文件供参考:
[profile PROFILE_NAME]
output=json
region=us-west-1
aws_access_key_id=foo
aws_secret_access_key=bar
`
Env变量AWS_PROFILE
通知AWS cli有关要从AWS config中使用的配置文件。它不是像AWS_ACCESS_KEY_ID
/ AWS_SECRET_ACCESS_KEY
are for这样的配置文件的替代~/.aws/credentials
。
另一个有趣的事实是,如果AWS_PROFILE
已设置,AWS_ACCESS_KEY_ID
并AWS_SECRET_ACCESS_KEY
设置环境变量,然后通过提供的凭据AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
将覆盖位于所提供的配置文件中的凭据AWS_PROFILE
。
用途如下
[profilename]
region=us-east-1
output=text
示例cmd
aws --profile myname CMD opts
遇到类似的问题,下面的链接比此处提供的答案更有用。我猜这是由于提供了答案后对AWS CLI的更新所致。
/server/792937/the-config-profile-adminuser-could-not-be-found
从本质上讲,它有助于创建两个不同的文件(即一个用于常规配置相关信息,另一个用于凭据相关信息)。
对我来说是因为我的.aws/config
文件看起来像这样:
[profile myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1
我认为原因是我基于我的.aws/credentials
文件,这需要使用[profile myname]
Zappa以及其他一些aws / elastic beantalk工具。
当我更改config
为此方法时,效果很好:
[myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1