3

S3で定期的にファイルを上書きしている場合、ブラウザーでファイルを提供するときにCloudFrontがファイルをキャッシュします。無効化を検討していましたが、マルチテナントWebサイトでは機能しないと思われる、一度に検証できる数に制限があります。

私が見ることができる唯一の解決策は、ファイルを上書きし、古いファイルを削除し、新しいファイルの名前を変更して(TIMESTAMPを最後に追加するだけでした)、CloudFrontがキャッシュされたバージョンをプルしないようにすることです。

これは、この種のことを処理するための最も推奨される方法でしょうか?

4

1 に答える 1

3

無効化制限の詳細へのリンクは次のとおりです: http://aws.amazon.com/cloudfront/faqs/#Is_there_a_limit_to_the_number_of_invalidation_requests

一度に進行中の無効化リクエストは 3 つまでです。この制限を超えると、それ以降の無効化リクエストは、以前のリクエストの 1 つが完了するまでエラー応答を受け取ります。

AWS の推奨事項は次のとおりです。

ファイルのバージョン管理システムを実装するか、短い有効期限を設定することをお勧めします。

短い有効期限は簡単ですが、明らかな欠点があります。バージョン管理システムを実装するには、データベースでファイル バージョンを追跡し、そのバージョンをクエリ文字列パラメーターとして追加します。

file.jpg?v=2

このようにして、長い有効期限を設定でき、新しいファイルを明確にアップロードしてバージョンを更新した場合にのみファイルが無効になります。

以下のコメントで説明されているように、デフォルトの動作では、CloudFront はキャッシュ キーを作成するときにクエリ文字列を無視するため、このバージョン管理アプローチを使用するには、[デフォルトのキャッシュ動作] 設定で [クエリ文字列の転送] を有効にしてください。

于 2012-12-20T03:02:02.330 に答える