L'obtention de boto.exception à la règle.S3ResponseError: S3ResponseError: 403 Forbidden lors du téléchargement de fichier

Il y a quelques autres questions à ce sujet:

boto.exception à la règle.S3ResponseError: S3ResponseError: 403 Forbidden

S3ResponseError: S3ResponseError: 403 Forbidden

S3ResponseError: 403 Forbidden à l'aide de boto

Python: Amazon S3 ne peut pas obtenir le seau: dit 403 Forbidden

Cependant, il semble que j'ai peut-être eu un problème différent (par exemple, l'horloge de l'inclinaison n'est pas un problème et j'ai déjà essayé de réglage validate=False, et je crois que j'ai la bonne clé et la clé secrète, car tenter une fausse clé ou une clé secrète me donne les différentes erreurs). Voici mon script:

import boto
import sys
from boto.s3.key import Key

BUCKET_NAME = sys.argv[1]
AWS_ACCESS_KEY_ID = sys.argv[2]
AWS_SECRET_ACCESS_KEY = sys.argv[3]

conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket(BUCKET_NAME, validate=False)
k = Key(bucket)
k.key = 'barbaz'
k.set_contents_from_filename('/tmp/barbaz.txt')

Et le résultat:

Traceback (most recent call last):
  File "/home/jonderry/sdmain/src/scripts/jenkins/upload_to_s3.py", line 16, in <module>
    k.set_contents_from_filename('/tmp/barbaz.txt')
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1360, in set_contents_from_filename
    encrypt_key=encrypt_key)
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1291, in set_contents_from_file
    chunked_transfer=chunked_transfer, size=size)
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 748, in send_file
    chunked_transfer=chunked_transfer, size=size)
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 949, in _send_file_internal
    query_args=query_args
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 664, in make_request
    retry_handler=retry_handler
  File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 1068, in make_request
    retry_handler=retry_handler)
  File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 939, in _mexe
    request.body, request.headers)
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 882, in sender
    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>***someRequestId***</RequestId><HostId>***someHostId</HostId></Error>

Toutes les idées ce qui est le problème, ou comment diagnostiquer plus?

  • avez-vous essayé de le télécharger avec le même touches à l'aide de s3cmd? juste pour être sûr que vous avez les droits d'accès à ce compartiment.
  • J'ai juste essayé de s3cmd. J'ai aucune erreur, mais le fichier n'apparaît pas dans le seau comme prévu. J'ai lancé la commande suivante: s3cmd -c /path/to/config/file put /tmp/bazbar.txt s3://bucket-name
InformationsquelleAutor jonderry | 2014-10-27