Чтобы настроить метаданные, такие как управление кешем для объекта в S3, без необходимости его повторной загрузки и без использования каких-либо сторонних инструментов, вы можете сделать следующее с помощью интерфейса командной строки AWS. Он копирует объект в себя, заменяя метаданные выбранными вами настройками:
aws s3api copy-object --copy-source <bucket-name>/<file> --bucket <bucket-name> --key <file> --metadata-directive REPLACE --cache-control "max-age=3600"
Обработайте эту команду в find, чтобы сделать это с существующим набором файлов, который уже существует в корзине, как вы упомянули:
find . -type f -exec aws s3api copy-object --copy-source <bucket-name>/{} --bucket <bucket-name> --key {} --metadata-directive REPLACE --cache-control "max-age=3600"
замените <bucket-name>
названием вашего ведра
ПРЕДУПРЕЖДЕНИЕ: это перезапишет все ваши существующие метаданные в файлах, таких как acl, просто добавьте в команду дополнительные флаги, чтобы установить то, что вам нужно, например, --acl public-read
, чтобы предоставить полный общедоступный доступ. (спасибо @jackson)
person
Joel Duckworth
schedule
02.06.2016