2016-07-15 57 views
3

我试图在Elastic Beanstalk上运行需要对SQS和Dynamo DB具有权限的python应用程序。botocore.exceptions.ProfileNotFound当在AWS弹性beanstalk上运行代码时,但在本地运行良好

我创建一个配置文件在〜/ .aws/config文件是这样的:

[profile yolo] 
aws_access_key_id = some-key 
aws_secret_access_key = some-secret 
region = some-region 

,并也开始喜欢弹性魔豆:

eb init --profile yolo 

,但是当我检查日志网上它状态:

botocore.exceptions.ProfileNotFound: The config profile (yolo) could not be found 

如何让boto3知道弹性beanstalk环境中的这个配置文件?

谢谢。

回答

1

试着改变你的.aws/config文件头 - [yolo]代替[profile yolo],并分离的配置和凭据两个文件,在这个环节中描述 - http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html 这应该可以解决你的问题。

+0

'配置'文件必须具有每个配置文件的'配置文件'前缀。不过,我会尝试将凭据分离到“凭据”文件并在此处发布结果 – nbtk

+0

引用我已链接的页面 - “*重要* AWS凭证文件使用与CLI命令格式不同的命名格式在AWS凭证文件中配置指定的配置文件时,不要包含'配置文件'前缀。“ –

+0

我对你的建议持怀疑态度,但无论如何都试过 - 它没有奏效。我将凭据移到'[yolo]'下的'credentials'文件中。我在“配置”下调用配置文件,如'[yolo]'和'[profile yolo]',但没有解决。 它是有道理的:两个文件都存储在本地。没有什么将他们移动到AWS。与例如'.ebextensions'和'elasticbeanstalk'下的文件不同,'credentials'和'config'文件对于所有环境都是全局的。 如果我只有一台EC2服务器,我会把两个文件放在那里。但在EB工作时我无法做到这一点。 – nbtk

1

如果设置了AWS_DEFAULT_PROFILE环境变量,但没有配置文件,您也会收到此错误。

相关问题