Boto S3 - How to access buckets other than us-east-1?
Trying to connect mumbai region (ap-south-1) bucket, but not able to connect.
Esp in Boto 2 versions, there is some issue, getting below errors:
Solution:
You need to mark S3_USE_SIGV4 flag to True, else it will throw you error.
from boto.s3.connection import S3Connection, Location
import os
os.environ['S3_USE_SIGV4'] = 'True'
conn = S3Connection(S3_KEY, S3_SECRET, host='s3.ap-south-1.amazonaws.com', calling_format=boto.s3.connection.OrdinaryCallingFormat())
print conn
client_buk_obj = conn.get_bucket('test-mumbai-region-test')
print client_buk_obj
os.environ['S3_USE_SIGV4'] = 'False'
Trying to connect mumbai region (ap-south-1) bucket, but not able to connect.
Esp in Boto 2 versions, there is some issue, getting below errors:
- boto.exception.S3ResponseError: S3ResponseError: 301 Moved Permanently
- boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
Solution:
You need to mark S3_USE_SIGV4 flag to True, else it will throw you error.
from boto.s3.connection import S3Connection, Location
import os
os.environ['S3_USE_SIGV4'] = 'True'
conn = S3Connection(S3_KEY, S3_SECRET, host='s3.ap-south-1.amazonaws.com', calling_format=boto.s3.connection.OrdinaryCallingFormat())
print conn
client_buk_obj = conn.get_bucket('test-mumbai-region-test')
print client_buk_obj
os.environ['S3_USE_SIGV4'] = 'False'