2016-11-16 2 views
1

Это ошибка, я получаю:полномочия выдавать в Python во время использования AWS S3

ERROR:boto:Unable to read instance data, giving up 
Traceback (most recent call last): 

File "<ipython-input-62-476f799f9e0f>", line 2, in <module> 
conn = boto.connect_s3() 

File "/usr/local/lib/python2.7/dist-packages/boto/__init__.py", line 141, in connect_s3 
return S3Connection(aws_access_key_id, aws_secret_access_key, **kwargs) 

File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 191, in __init__ 
validate_certs=validate_certs, profile_name=profile_name) 

File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 569, in __init__ 
host, config, self.provider, self._required_auth_capability()) 

File "/usr/local/lib/python2.7/dist-packages/boto/auth.py", line 993, in get_auth_handler 
'Check your credentials' % (len(names), str(names))) 

NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials

Эта ошибка сообщение приходит при установлении соединения с AWS S3Connection.

Я хочу установить соединение с AWS S3 и читать файлы CSV. , пожалуйста, помогите мне? Я использую Python 2.7.12

И сейчас я использую этот код ниже:

import boto 
import time 

from boto.s3.connection import S3Connection 
conn = S3Connection('<aws access key>','<aws secret key>') 
print conn 


from boto.s3.connection import Location 
print '\n'.join(i for i in dir(Location) if i[0].isupper()) 

conn.create_bucket('egp-shared-prod/egp-prod-c2c1/', 
    location=Location.DEFAULT) 

И Его шоу Ошибка:

File "<ipython-input-69-4b49d719d4ca>", line 15, in <module> 
conn.create_bucket('egp-shared-prod/egp-prod-c2c1/', location=Location.DEFAULT) 

File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 616, in create_bucket 
data=data) 

File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 668, in make_request 
retry_handler=retry_handler 

File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1071, in make_request 
retry_handler=retry_handler) 

File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1030, in _mexe 
raise ex 

gaierror: [Errno -2] Name or service not known 

ответ

0

Я попробовал ваш код и мое тестирование показало, что ошибка связана с вашим именем от egp-shared-prod/egp-prod-c2c1/.

Bucket Restrictions and Limitations документация говорит:

Bucket names can contain lowercase letters, numbers, and hyphens.

Slashes не допускается. Кроме того, они, похоже, нарушают код boto.

+0

conn.create_bucket ('mybuck', расположение =» us-west-2 ') теперь я использую этот код для создания нового Bucket.Still показывает свою ошибку: - S3ResponseError: S3ResponseError: 400 Bad Request InvalidArgument Недопустимый заголовок авторизации - один и только один ' (Пробел) требуется<Имя_аргумент> Авторизация AWS < AWS ключ доступ >: Yj6KZK1woMN6h + vtPlDJZrJ9OGQ = 62DAB7149F211E2B

+0

Пожалуйста, начните новый вопрос и предоставить текущий код и сообщение об ошибке,. Если мой ответ решил эту текущую ошибку, отметьте ее как «Принято». Спасибо! –

0

Boto (официальные привязок AWS Python), которые вы используете, ожидают, что вы сохраните AWS_ACCESS_KEY_id и AWS_SECRET_ACCESS_KEY в переменных окружения так:

export AWS_ACCESS_KEY_ID='AK123' export AWS_SECRET_ACCESS_KEY='abc123'

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