我想我的Python脚本(连接到AWS)使用AWS的档案,从中〜/ .aws /凭证使用AWS型材在python2博托
所以,我有〜/ .aws /凭证文件:
[default]
aws_access_key_id = XXX
aws_secret_access_key = AAA
region = eu-west-1
[test]
aws_access_key_id = WWW
aws_secret_access_key = ZZZ
region = eu-west-1
我的Python代码
import boto.ec2
conn = boto.ec2.EC2Connection(profile_name='test')
print conn
print conn.get_all_instances()
输出是
EC2Connection:ec2.us-east-1.amazonaws.com
[]
所以,它似乎没有从配置文件。该地区是错误的。
env | grep -i aws <- returns nothing
我错过了什么?
谢谢。
===== UPDATE =====
我有一个〜/ .aws/config文件看起来太像
⟩ cat config
[default]
output = text
region = eu-west-1
[profile test]
output = text
region = eu-west-1
===== UPDATE ==== =
显然,它需要连接细节..但不是地区。所以,如果我做
reg = next(x for x in boto.ec2.regions() if x.name=='eu-west-1')
conn = boto.ec2.EC2Connection(profile_name='test', region=reg)
print conn
print conn.get_all_instances()
我可以得到一个实例列表。
所以,问题是如何从AWS config/credentials中获取默认的'region'。
我注意到了同样的问题。如果有解决方案,我很好奇。 –