2015-06-26 1 views
0

В настоящее время я пытаюсь подключиться к AWS с виртуальной машины Ubuntu 14, работающей внутри операционной системы Windows 8. В оболочке Ubuntu, я бегу:Подключение AWS Boto работает только от оболочки Windows Python

$AWS_ACCESS_KEY=my_access_key 
$AWS_SECRET_ACCESS_KEY=my_secret_key 
$python 
$export AWS_ACCESS_KEY 
$export AWS_SECRET_ACCESS_KEY 
$python 
>>>import os 
>>>from boto import ec2 
>>>auth = {"aws_access_key_id":os.environ.get("AWS_ACCESS_KEY"), 
>>>"aws_secret_access_key":os.environ.get("AWS_SECRET_ACCESS_KEY")} 
>>>conn = ec2.connect_to_region("us-east-1", **auth) 
>>>conn.get_all_instances() 

Сообщение об ошибке я получаю

boto.exception.EC2ResponseError: EC2ResponseError: 401 Unauthorized 
AuthFailure 
AWS was not able to validate the provided access credentials 

Сначала я думал, что мои полномочия не были предусмотрены правильно. Однако в Windows:

C:\>SET AWS_ACCESS_KEY=my_access_key 
C:\>SET AWS_SECRET_ACCESS_KEY=my_secret_key 
C:\>python 
>>>import os 
>>>from boto import ec2 
>>>auth = {"aws_access_key_id":os.environ.get("AWS_ACCESS_KEY"), 
>>>"aws_secret_access_key":os.environ.get("AWS_SECRET_ACCESS_KEY")} 
>>>conn = ec2.connect_to_region("us-east-1", **auth) 
>>>conn.get_all_instances() 

Возвращает все оговорки, как ожидалось. Я сравнил значение auth с обеих оболочек Python, и они одинаковы. Версии Python и boto выглядят одинаково. Я не пробовал использовать файл конфигурации boto, но я бы предпочел, чтобы это не было, поскольку это компонент сценария, который должен развертываться несколькими пользователями в моей организации.

Есть ли лучший способ пройти мою аутентификацию? Есть ли какой-то нюанс для Linux/Windows, который мне не хватает?

ответ

1

Новое соглашение заключается в использовании AWS_ACCESS_KEY_ID не AWS_ACCESS_KEY Возможно, у вас установлена ​​более старая версия Boto на вашей Windows-машине.

+0

Начиная с boto 2.35.0 он использовал метод auth, более чувствительный к перекосам часов, и, как результат, если часы отличаются от EC2 более чем на пять минут, эта ошибка возникает - https://github.com/boto/boto/вопросы/2885 –

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