S3 の機能をローカルで再現する MinIO がよかった
code:docker-compose.yml
s3:
image: minio/minio
volumes:
- s3:/export
environment:
- MINIO_ACCESS_KEY=development
- MINIO_SECRET_KEY=p@ssword
entrypoint:
- /bin/sh
- -c
command:
- minio server --address=0.0.0.0:4567 /export
こんな感じでサクッと S3 の機能がローカルで再現できる。
Web コンソールも付いてるので、アップロードしたものとかも簡単に見れる
アップロードしたものをパスワードなしでアクセスする
code:python3
import boto3
s3 = boto3.client('s3')
s3.create_bucket('Test', ACL='public-read')
Boto3 の ACL でパブリックにしても公開できなかった(ログインページにリダイレクトされる)
バケットポリシーをJSONで用意して、boto3 からセットしてあげたら動いた。