Amazon S3のバケットには約10,000以上の画像がありますが、すべての画像に有効期限ヘッダーを一度に設定するにはどうすればよいですか?
AWS CLIを使用して優れたソリューションを見つけたという前兆です:
aws s3 cp s3://bucketname/optional_path s3://bucketname/optional_path --recursive --acl public-read --metadata-directive REPLACE --cache-control max-age=2592000
これにより、Cache-Controlが30日間設定されます。以前のヘッダーデータをコピーまたは置換するオプションがあることに注意してください。 AWSは各メディアタイプに適切なメタコンテンツタイプのデータを自動的に含めるため、いくつかの不良ヘッダーがあったため、すべてを上書きすることを選択しました。
S3 APIを使用するサードパーティアプリを使用して、バケットファイルに一括変更を加えることができます。これらのアプリは、1つのリクエストのみを使用してヘッダーを設定するのではなく、10,000以上の必要なリクエストを自動化します。
私が現在使用しているものは Cloudberry Explorer です。これは、S3バケットを操作するためのフリーウェアユーティリティです。このツールでは、複数のファイルを選択し、それらすべてに適用されるHTTPヘッダーを指定できます。
別の方法は、S3 APIライブラリを使用して独自のスクリプトまたはツールを開発することです。
別の解決策は、URLにresponse-expires
パラメータを追加することです。応答のExpires
ヘッダーを設定します。
詳細については、 http://docs.aws.Amazon.com/AmazonS3/latest/API/RESTObjectGET.html の「リクエストパラメータ」セクションを参照してください。
Cyberduckはヘッダーも編集します。
問題なく、1つのバケットで6000枚の画像を処理しただけです。