2012-01-06 6 views
9

性能上の理由からAzure CDNで提供したいコンテンツはほとんどありません。ただし、コンテンツが変更された場合は、更新されたデータがすぐに利用できることが重要です。理想的には、長いTTLを設定することができますが、更新するとCDNにコンテンツが期限切れになるよう事前に伝えます。どうすればこれを達成できますか?今はキャッシュの無効化やパージAPIがなく、短いTTLを設定しないでください。Azure CDNコンテンツをパージまたは無効にするにはどうすればよいですか?

答えて

8

Azure CDNを無効にするAPIはありません。

回避策:

  1. AzureのポータルであなたのCDN上の "クエリ文字列ステータス" を有効にします。次に、新しいクエリ文字列名とランダム値などを追加できます。 /images/background.png?v=1234

  2. 新しいファイルをタイムスタンプまたはランダム値でアップロードして名前を変更します。 /images/background.20140917225200.png

  3. キャッシュヘッダーを短く設定し、有効期限が切れるまで待ちます。 Azureチームの記事です。http://msdn.microsoft.com/en-us/library/azure/gg680306.aspx

+2

おかげさまで、私が取ったルートは基本的に変更されたときにインクリメントするDataVersionがあり、クライアントはOut of Bend RESTを呼び出して最新のDataVersionを見つけ出し、 CDN。 –

+2

変更された後、TTLの有効期限前にAzureがファイルを提供するのと同じ問題がありました。 Amazon S3に切り替えました。無効にすることができます(お金がかかります)。プラス私たちのケースでは、より良いアジア、オーストラリア、南アメリカを提供しています。 –

0

CDNパージは強制できません。

ベストプラクティスは、ファイル名にバージョン/日付情報を追加し、現在のファイル名を動的に取得するようにアプリケーションを設計することです。

例として写真を表示するには、ブロブ名にバージョンを追加し、テーブルにブロブ名を格納してから、ファイル名をハードコードするのではなく、テーブルの名前へのリンクを提供します。

このようにして、キャッシュヘッダーにmax-expiryを設定することができます。必要なときにAzureは失効したコンテンツをクリーンアップします。

9

12月2015日、Azureチームは、REST API(https://msdn.microsoft.com/en-us/library/mt634451.aspx)を使用してCDNをリフレッシュまたはパージする機能を追加しました。 この機能は、新しいAzureポータル(http://portal.azure.com)で作成されたエンドポイントでのみ使用できますが、古い管理画面で作成されたCDNは2016年の初めに移行されます(https://feedback.azure.com/forums/169397-cdn/suggestions/556307-ability-to-force-the-cdn-to-refresh-any-cached-con)。

+0

これは一度に全エンドポイントをパージする予定ですか、個々のブロブをパージできますか? – jz87

+0

@ jz87:新しいAPIを使用して特定のコンテンツパス(パージまたはロードするコンテンツへのパス)をパージできます。 https://msdn.microsoft.com/en-us/library/mt634451.aspxを参照してください。 – Alex

関連する問題