2015-03-07 3 views
0

У меня есть файл учетных данных с несколькими профилями. В моем сценарии имя профиля передается как аргумент, и все вызовы connect_xxx используют это имя профиля. Это работает нормально - пока я не попытался подключиться к SQS. Когда я пытаюсь подключиться к SQS, я получаю: TypeError: init() получил неожиданный аргумент ключевого слова 'profile_name'.AWS boto Подключение SQS не поддерживает имя_файла

Например, код ниже работает нормально - до тех пор, пока SQS не подключится. Я что-то упустил, или AWS забыл реализовать имя профиля в SQS connect?

region_name = 'us-east-1' 
profile_name = 'my-valid' 
iam_conn = boto.connect_iam(profile_name=profile_name) 
s3_conn = boto.connect_s3(profile_name=profile_name) 
ec2_conn = boto.ec2.connect_to_region(region_name, profile_name=profile_name) 
vpc_conn = boto.vpc.connect_to_region(region_name, profile_name=profile_name) 
sqs_conn = boto.sqs.connect_to_region(region_name, profile_name=profile_name) 
+0

Я только что попробовал его с версией 2.36.0, и он работает. Возможно, вы можете попробовать обновить? – garnaat

ответ

0

Boto имеет возможность считывать учетные данные из AWS либо метаданных (используется, когда экземпляр Amazon EC2 запускается с ролью), или из локального файла учетных данных.

Там это хорошие примеры здесь:

Похоже, что требует учетные данные в виде .boto файла, а не некоторых других имен файлов, учетные данные часто передаются.

Убедитесь, что у вас установлена ​​последняя версия boto. В Linux: sudo pip install boto --upgrade

Смежные вопросы