web-dev-qa-db-ja.com

Amazon S3のバケット内のすべての画像に有効期限ヘッダーを設定する方法

Amazon S3のバケットには約10,000以上の画像がありますが、すべての画像に有効期限ヘッダーを一度に設定するにはどうすればよいですか?

27
Abhishek Jain

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は各メディアタイプに適切なメタコンテンツタイプのデータを自動的に含めるため、いくつかの不良ヘッダーがあったため、すべてを上書きすることを選択しました。

44
Mauvis Ledford

S3 APIを使用するサードパーティアプリを使用して、バケットファイルに一括変更を加えることができます。これらのアプリは、1つのリクエストのみを使用してヘッダーを設定するのではなく、10,000以上の必要なリクエストを自動化します。

私が現在使用しているものは Cloudberry Explorer です。これは、S3バケットを操作するためのフリーウェアユーティリティです。このツールでは、複数のファイルを選択し、それらすべてに適用されるHTTPヘッダーを指定できます。

enter image description here

enter image description here

別の方法は、S3 APIライブラリを使用して独自のスクリプトまたはツールを開発することです。

5
Jorge Palacio

別の解決策は、URLにresponse-expiresパラメータを追加することです。応答のExpiresヘッダーを設定します。

詳細については、 http://docs.aws.Amazon.com/AmazonS3/latest/API/RESTObjectGET.html の「リクエストパラメータ」セクションを参照してください。

2
okwap

Cyber​​duckはヘッダーも編集します。

  1. すべてのアイテムを選択してください
  2. コマンド&i(情報を取得)
  3. 組み込みのプリセットでさまざまなヘッダーを編集するためのGUIを提供します。

問題なく、1つのバケットで6000枚の画像を処理しただけです。

1
OysterBoo
  1. フォルダを選択
  2. トップメニューから、もっと
  3. メタデータの変更を選択します
  4. 有効期限としてキーを追加
  5. 値を2592000として追加します(例)
1
Arun