清除 Azure Front Door 中的快取

適用於: ✔️ Front Door 標準 ✔️ Front Door 進階

Azure Front Door 會快取資產,直到其存留時間 (TTL) 到期為止。 當客戶端請求 TTL 過期的資產時,Azure Front Door 會擷取並快取該資產的新副本以執行該請求。

為了確保使用者一律會取得最新的資產,請針對每個更新設定資產的版本,並使用新的 URL 發佈它們。 Azure Front Door 接著會在後續客戶端請求時取得新資產。

當您更新應用程式或需要快速移除錯誤內容時,請清除所有臨席點(PoP)位置的快取內容。 此操作會強制 Azure Front Door 從你的原始來源取得新內容。

先決條件

  • Azure Front Door 設定檔。 如需詳細資訊,請參閱 建立 Azure Front Door。

  • Azure Cloud Shell 或 Azure PowerShell。

    本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure PowerShell Cmdlet。 若要在 Cloud Shell 中執行 Cmdlet,請選取程式碼區塊右上角的 [開啟 Cloud Shell]。 選擇 Copy 複製程式碼,然後貼上到 Cloud Shell 執行。 你也可以在 Azure 入口網站內執行 Cloud Shell。

    你也可以將 Azure PowerShell 安裝到本地來運行命令。 如果你在本地執行 PowerShell,請使用 Connect-AzAccount cmdlet 登入Azure。

  • Azure Front Door 設定檔。 如需詳細資訊,請參閱 建立 Azure Front Door。

  • Azure Cloud Shell 或 Azure CLI。

    本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure CLI 命令。 要執行 Cloud Shell 中的指令,請在程式碼區塊右上角選擇 Open Cloud Shell。 選擇 Copy 來複製程式碼,然後貼上到 Cloud Shell 執行。 你也可以在 Azure 入口網站內執行 Cloud Shell。

    您也可以在本機安裝 Azure CLI 以執行命令。 如果您在本機執行 Azure CLI,請使用 az login 命令登入 Azure。

清除快取

  1. 前往你 Azure Front Door 設定檔的概覽頁面,選擇清除快取。

    概覽頁面快取清除按鈕的截圖。

  2. 選擇一個端點,然後選擇你想從 Front Door POP 中清除的網域或子網域。 你可以選擇多個網域或子網域。

    清除快取頁面的截圖。

  3. 若要清除所有資產,請選取 清除所選網域的所有資產。 否則,輸入你想清除的每個資產的 路徑 。

執行 Clear-AzFrontDoorCdnEndpointContent 來清除快取,並指定如下參數:

  • 資源組名。
  • 資源群組內的 Azure Front Door 設定檔名稱。
  • 具有要清除資產的端點。
  • 包含需清除資產的網域和子網域。
Clear-AzFrontDoorCdnEndpointContent `
    -ResourceGroupName myRGFD `
    -ProfileName contosoafd `
    -EndpointName myendpoint `
    -Domain www.contoso.com `
    -ContentPath /scripts/*

執行 az afd endpoint purge ,並搭配必要的參數來清除快取:

  • 資源群組名稱
  • 資源群組內的 Azure Front Door 設定檔名稱
  • 具有可清除資產的端點
  • 含有待清除資產的網域與子網域
az afd endpoint purge \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --endpoint-name myendpoint \
    --domains www.contoso.com \
    --content-paths '/scripts/*'

支援的路徑格式

  • 單路徑清除:透過指定一個資產的完整路徑,不包含協定與網域,包括檔案副檔名,來清除該資產。 例如: /pictures/strasbourg.png 。
  • 根域清除:清除路徑中端點的 /* 根節點。

Important

不直接支援萬用字元網域的快取清除。 指定萬用字元網域的子網域。 例如,對於 *.contoso.com,指定子定義域如 dev.contoso.com 或 test.contoso.com。 如需詳細資訊,請參閱 Azure Front Door 中的萬用字元網域。

Azure Front Door 上的快取清除作業不區分大小寫,且不考慮查詢字串。 清除一個網址就是清除該 URL 的所有查詢字串變體。

Note

快取清除最多可能需要 10 分鐘,才能傳播至所有 Azure Front Door POP 位置。

後續步驟