Bucket_Name = 'hoge.foo.com'
として、
bucket = conn.get_bucket('Bucket_Name')
これを実行すると、、
Traceback (most recent call last): File "./test.py", line 39, in <module> bucket = conn.get_bucket('hoge.foo.com') File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 502, in get_bucket return self.head_bucket(bucket_name, headers=headers) File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 521, in head_bucket response = self.make_request('HEAD', bucket_name, headers=headers) File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 664, in make_request retry_handler=retry_handler File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 1071, in make_request retry_handler=retry_handler) File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 943, in _mexe request.body, request.headers) File "/usr/lib64/python2.7/httplib.py", line 1053, in request self._send_request(method, url, body, headers) File "/usr/lib64/python2.7/httplib.py", line 1093, in _send_request self.endheaders(body) File "/usr/lib64/python2.7/httplib.py", line 1049, in endheaders self._send_output(message_body) File "/usr/lib64/python2.7/httplib.py", line 893, in _send_output self.send(msg) File "/usr/lib64/python2.7/httplib.py", line 855, in send self.connect() File "/usr/lib64/python2.7/httplib.py", line 1274, in connect server_hostname=server_hostname) File "/usr/lib64/python2.7/ssl.py", line 352, in wrap_socket _context=self) File "/usr/lib64/python2.7/ssl.py", line 579, in __init__ self.do_handshake() File "/usr/lib64/python2.7/ssl.py", line 816, in do_handshake match_hostname(self.getpeercert(), self.server_hostname) File "/usr/lib64/python2.7/ssl.py", line 271, in match_hostname % (hostname, ', '.join(map(repr, dnsnames)))) ssl.CertificateError: hostname 'hoge.foo.com.s3-ap-northeast-1.amazonaws.com' doesn't match either of 's3-ap-northeast-1.amazonaws.com', '*.s3-ap-northeast-1.amazonaws.com'
とのエラー。
conn = boto.s3.connect_to_region('ap-southeast-1', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY, is_secure=True, # uncommmnt if you are not using ssl calling_format = boto.s3.connection.OrdinaryCallingFormat(), )
とすれば解決。
たぶんなんだけど、大文字とか’.’があると拒否られるっぽい。
参考:
http://stackoverflow.com/questions/22454559/unable-to-connect-aws-s3-bucket-using-boto
http://stackoverflow.com/questions/18543363/url-format-for-boto-storage-on-django-with-ssl
おまけ:
https://remotestance.com/blog/1671/