Python: Amazon S3 não pode obter o intervalo: diz 403 proibido
Eu tenho um balde para minha organização no Amazon S3, que parecemydev.orgname
Eu tenho um aplicativo Java que pode se conectar ao Amazon S3 com as credenciais e pode se conectar ao S3, criar, ler arquivos
Eu tenho um requisito onde um aplicativo lê os dados do Python do mesmo bucket. Então estou usandoboto por esta.
Eu faço o seguinte em oder para obter o balde
>>> import boto
>>> from boto.s3.connection import S3Connection
>>> from boto.s3.key import Key
>>>
>>> conn = S3Connection('xxxxxxxxxxx', 'yyyyyyyyyyyyyyyyyyyyyy')
>>> conn
S3Connection:s3.amazonaws.com
Agora, quando tento obter balde, vejo erro
>>> b = conn.get_bucket('mydev.myorg')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/boto/s3/connection.py", line 389, in get_bucket
bucket.get_all_keys(headers, maxkeys=0)
File "/Library/Python/2.7/site-packages/boto/s3/bucket.py", line 367, in get_all_keys
'', headers, **params)
File "/Library/Python/2.7/site-packages/boto/s3/bucket.py", line 334, in _get_all
response.status, response.reason, body)
boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>EEC05E43AF3E00F3</RequestId><HostId>v7HHmhJaLLQJZYkZ7sL4nqvJDS9yfrhfKQCgh4i8Tx+QsxKaub50OPiYrh3JjQbJ</HostId></Error>
Mas a partir do aplicativo Java tudo parece funcionar.
Estou fazendo algo errado aqui?