· 7 years ago · Oct 03, 2018, 04:42 PM
1if not boto.config.get('s3', 'use-sigv4'):
2 boto.config.add_section('s3')
3 boto.config.set('s3', 'use-sigv4', 'True')
4
5connection = S3Connection(accesskey, secretkey, host=S3Connection.DefaultHost)
6buckets = connection.get_all_buckets()
7
8for bucket in buckets:
9 bucket.get_all_keys()
10
11S3ResponseError: 400 Bad Request
12<?xml version="1.0" encoding="UTF-8"?>
13<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region>
14
15region_con = boto.s3.connect_to_region('eu-central-1', aws_access_key_id=accesskey, aws_secret_access_key=secretkey)
16bucket = region_con.get_bucket(bucket.name)
17bucket.get_all_keys()
18
19s3 = boto.s3.connect_to_region('eu-central-1',
20 aws_access_key_id=accesskey,
21 aws_secret_access_key=secretkey,
22 host='s3.eu-central-1.amazonaws.com')
23
24s3 = boto3.client('s3', region_name='eu-central-1')
25
26[default]
27output = json
28region = eu-central-1
29
30[s3]
31use-sigv4 = True
32host=s3.eu-central-1.amazonaws.com