nがひとつ多い。

えぬなおの技術的なことを書いていくとこ。

【AWS】【Python】Botoでs3の署名バージョン4でAPI叩くのをソースコード変えるだけでやる

TLDR;

botoを対応バージョンにしてから、

$ pip install -U boto==2.49.0

boto.config で指定してやる。

if not boto.config.get('s3', 'use-sigv4'):
            boto.config.add_section('s3')
            boto.config.set('s3', 'use-sigv4', 'True')

s3 = boto.s3.connect_to_region('ap-northeast-1',is_secure=False)
# Example, Get Bucket
bucket = instance['bucket']
b = s3.get_bucket(bucket, validate=False)

ここが詳しい

stackoverflow.com

s3の署名バージョン?

この件です。

dev.classmethod.jp

余談

botoの設定ファイルを変えることでもできるみたい。

[s3] use-sigv4 = True

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/UsingAWSSDK.html#UsingAWSSDK-move-to-Sig4

botoの設定ファイルの管理をしたくなかったから俺はやらなかった。