Python スクリプト (aws に接続) で ~/.aws/credentials の aws プロファイルを使用したい
だから、私は ~/.aws/credentials ファイルを持っています:
[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
私は何が欠けていますか?
ありがとうございました。
=====更新=====
~/.aws/config ファイルもあり、次のようになります
⟩ cat config
[default]
output = text
region = eu-west-1
[profile test]
output = text
region = eu-west-1
=====更新=====
どうやら、接続の詳細が必要ですが、地域は必要ありません。だから、私がするなら
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 からデフォルトの「リージョン」を取得する方法です。