何も考えずに boto3
で s3 に 大量のpdfファイルを上げたら、全部 Content-Type
が binary/octet-stream
になってしまったので、まとめて application/pdf
に直したかった話。
ついでに public-read
で外部から読めるようにしたかったので、
まとめてこう。
BUCKET="your-bucket"
KEY="path/to/your.pdf"
aws s3api copy-object --bucket "$BUCKET" --copy-source "$BUCKET/$KEY" --key "$KEY" --content-type "application/pdf" --metadata-directive REPLACE
aws s3api put-object-acl --acl public-read --bucket "$BUCKET" --key "$KEY"
確認。
aws s3api head-object --bucket "$BUCKET" --key "$KEY"
aws s3api get-object-acl --bucket "$BUCKET" --key "$KEY"