关于这个问题还有一些其他问题:
boto.exception.S3ResponseError:S3ResponseError:403禁止
S3ResponseError:S3ResponseError:403 Forbidden
S3ResponseError:403禁止使用boto
Python:Amazon S3无法获得桶:403 Forbidden说
然而,似乎我可能遇到了不同的问题(例如,时钟偏差不是问题,我已经尝试过设置validate=False
,我相信我有正确的密钥和密钥,因为尝试伪造密钥或秘密密钥会给我不同的错误) .这是我的脚本:
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')
结果如下:
Traceback (most recent call last): File "/home/jonderry/sdmain/src/scripts/jenkins/upload_to_s3.py", line 16, ink.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 AccessDenied
Access Denied ***someRequestId*** ***someHostId
任何想法是什么问题,或如何进一步诊断?