AWS:找不到配置文件(MyName)

时间:2015-12-07 13:35:32

标签: python amazon-web-services credentials aws-cli

每次我想用AWS配置内容时,我都会收到以下错误:

"The config profile (myname) could not be found"

喜欢:aws configure

我使用的是Python 3.4,我想使用AWS CLI Keyring来加密我的凭据。

12 个答案:

答案 0 :(得分:69)

我认为http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html中的AWS文档中缺少某些内容,但未提及您应编辑文件~/.aws/config以添加用户名配置文件。有两种方式来执行此操作:

  1. 修改~/.aws/config

  2. aws configure --profile "your username"

答案 1 :(得分:8)

当我搬到新机器时,我遇到了这个问题,带着我的AWS_DEFAULT_PROFILE环境变量,但不是我的〜/ .aws目录。在我取消设置该变量或正确配置命名配置文件之前,我无法使用任何awscli命令。但即使是aws configure命令也被破坏了,让事情变得有点棘手。假设你有一个类似Unix的shell:

  • 确定会话中可能包含的特定于AWS的变量:env | grep AWS_
    • 如果您没有在此处看到AWS_DEFAULT_PROFILE,则此答案不适用于您。
  • 要暂时删除默认配置文件:unset AWS_DEFAULT_PROFILE
  • 配置默认配置文件:aws --profile foo configure
  • 要重置默认配置文件变量:exec $SHELL
  • 测试新设置:aws iam get-user

答案 2 :(得分:6)

你可以查看<div id="container"> <header> <nav> <ul> <li> <a href="index.html">home</a> <div style="background:green"> </div> </li> <li> <a href="bedrijf.html">bedrijf</a> <div style="background:yellow"> </div> </li> <li> <a href="diensten.html">diensten</a> </li> <li> <a href="pictures.html">foto's</a> </li> <li><a href="contact-page.html">contacteer ons</a></li> </ul> </nav> </header> header { position: relative; width: 100%; background: red; } ul li a { position: relative; z-index: 3; } ul li:hover div { z-index: 1; } ul li div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; } 下的config文件 - 你可能有一个名为[myname]的无效部分,就像这样(这是一个例子)

~/.aws/config

只需删除[myname]部分(包括此个人资料的所有内容),您就可以再次运行[default] region=us-west-2 output=json [myname] region=us-east-1 output=text cli

答案 3 :(得分:5)

使用如下

[profilename]
region=us-east-1
output=text

示例cmd

aws --profile myname CMD opts

答案 4 :(得分:1)

使用配置文件有点棘手。可以在以下位置找到文档: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html (但是您需要注意诸如AWS_PROFILE之类的环境变量)

在aws cli中使用配置文件需要一个配置文件(默认为iloc[0]或使用def ages(a): if ((df['Age'].iloc[0])>50): return 'Elder' elif ((df['Age'].iloc[0])<12): return 'Child' elif (df['Age'].iloc[0]<50) & (df['Age'].iloc[0]>12): return 'Adult' df['Agem']=df['Age'].apply(ages) 进行设置)。 示例配置文件供参考: `

~/.aws/config

`

Env变量AWS_CONFIG_FILE通知AWS cli有关要从AWS config中使用的配置文件。它不是[profile PROFILE_NAME] output=json region=us-west-1 aws_access_key_id=foo aws_secret_access_key=bar / AWS_PROFILEAWS_ACCESS_KEY_ID的替代配置文件。

另一个有趣的事实是,如果设置了AWS_SECRET_ACCESS_KEY并设置了~/.aws/credentialsAWS_PROFILE环境变量,那么AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY提供的凭据将覆盖AWS_ACCESS_KEY_ID提供的配置文件中的凭据。

答案 5 :(得分:0)

您确实设置了特定用户吗? AWS中的演练设置指南介绍了如何设置默认用户,以及如何设置其他用户。如果您没有完成完整设置,那么您将只有一个默认块,并且您的myName将不会被创建..

答案 6 :(得分:0)

遇到类似问题,发现下面的链接更有帮助,然后在这里提供答案。我想这是因为提供了答案后AWS CLI的更新。

https://serverfault.com/questions/792937/the-config-profile-adminuser-could-not-be-found

基本上,它有助于创建两个不同的文件(即一个用于一般配置相关信息,另一个用于凭证相关信息)。

答案 7 :(得分:0)

确保您处于正确的VirtualEnvironment环境中。我更新了PyCharm,由于某种原因不得不再次将我的项目指向我的VE。打开终端,尝试zappa更新时我不在我的VE中(并且出现此错误)。重启PyCharm,一切恢复正常。

答案 8 :(得分:0)

对于我来说,我在环境变量上有一个名为“ AWS_PROFILE”的变量,具有旧值。

enter image description here

答案 9 :(得分:0)

就我而言,我将 Docker 方法用于 AWS CLI 工具,但我对说明的阅读不够深入,无法意识到我必须使我的凭证目录对 docker 容器可见。 https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html

代替

docker run --rm -it amazon/aws-cli:latest command args...

我需要做的:

docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli:latest command args...

答案 10 :(得分:0)

以防万一有人试图在无头服务器上执行此操作(在我的情况下是 CI 运行程序,将 EKS 集群配置添加到 kubeconfig)。

我必须这样做的原因是,运行程序与相关 EKS 集群在不同的 AWS 账户中(并且 aws eks 命令看起来在同一个账户中)。

我确实有一种方法可以对正确的 AWS 帐户进行身份验证,该帐户会使用有效凭据填充 ~/.aws/credentials。

首先我进行身份验证以填充 ~/.aws/credentials 那么

sage: p.save('sine_function_plot.png', figsize=5)

然后当我运行时它会起作用

cp ~/.aws/credentials ~/.aws/config
sed -i 's/profilename/profile profilename/g' ~/.aws/config

答案 11 :(得分:-1)

对我来说,这是因为我的.aws/config文件看起来像这样:

[profile myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1

我认为原因是我将其基于我的.aws/credentials文件,这需要为Zappa和其他一些aws /弹性beanstalk工具[profile myname]

当我将config更改为此内容时效果很好:

[myname]
aws_access_key_id = ....
aws_secret_access_key = ....
region=us-west-1