4

Amazon CloudFront を (管理コンソール経由で) 無効化し、パターンに一致するすべてのファイルを無効にする方法はありますか? 例: images/*.png

環境 -

  1. サイトで画像のキャッシュ制御を設定していましたが、誤って Apache のキャッシュ ディレクティブで png 拡張子を除外しました。そのため、.gif/.jpg ファイルはユーザーのコンピューターにキャッシュされましたが、.png ファイルはキャッシュされませんでした。
  2. そこで、apache ディレクティブを修正し、apache サーバーが適切なキャッシュ制御ディレクティブを使用して png ファイルを提供するようになりました。これをテストしました。
  3. しかし、クラウドフロントは過去にこれらの png ファイルを取得していたので、クラウドフロント経由でこれらの png ファイルをヒットしても、キャッシュ制御なしでそれらの png ファイルが引き続き取得されます。最終結果-これらのpngファイルのユーザーキャッシュはまだありません
  4. Amazon CloudFront コンソールで無効化を images/*.png として設定しようとしました。コンソールには完了したと表示されますが、png ファイルでキャッシュ制御ディレクティブを取得できません。-->無効化は起こらなかったと信じ込ませます。
  5. 完全なイメージ ディレクトリの無効化を設定できます。しかし、画像ファイルが多すぎます --> これに対して 100 ドルを超える請求が発生します。したがって、これを回避しようとします。
  6. クラウドフロントが新しいバージョンをフェッチするようにイメージ バージョンを変更することは、私のコードでは骨の折れる作業です。たとえば500個のpngファイルに対してそれを行うのは面倒です。--> 避けようとしている。
  7. 個々のpngファイルをリストするのも面倒です->それも避けようとしています。

ありがとう - アミット

4

1 に答える 1

2

CloudFront ディストリビューションが S3 バケットの前に設定されている場合、S3 バケット内のすべてのオブジェクトを一覧表示し、それらを正規表現パターン (例: /*.png/i) でフィルタリングしてから、そのリストを使用して無効化リクエストを作成できます。

それはとにかく私がすることです。これが役立つことを願っています!:)

于 2012-10-05T09:29:06.527 に答える