跳至內容

如何從 CloudFront 移除快取的檔案?

1 分的閱讀內容
0

我想從 Amazon CloudFront 中移除快取的檔案。

簡短描述

CloudFront 會根據來源回應中的 cache-control 標頭,在邊緣節點快取回應。CloudFront 也會根據發行項目快取行為中的最小、最大和預設存留時間 (TTL) 值來快取回應。

CloudFront 會根據您設定的值提供快取的檔案,直到快取到期為止。若要立即提供更新的檔案,請使檔案失效,以便從 CloudFront 的快取中移除物件。

**注意:**如果物件使用 Cookie、查詢字串或標頭來變更回應,您無法讓此類物件的特定版本失效。失效會移除物件的所有版本。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

使用 AWS 管理主控台使檔案失效

若要使用 AWS 管理主控台使檔案失效,請參閱使檔案失效以移除內容

**重要:**如果您使檔案失效,可能會產生費用。有關資訊,請參閱檔案失效費用

使用 AWS CLI 命令使檔案失效

若要使檔案失效,請執行以下 create-invalidation AWS CLI 命令:

aws cloudfront create-invalidation --distribution-id example-distribution-ID --paths "/example-path/index.html"

**注意:**將 example-distribution-ID 替換為您用來提供檔案的發行項目 ID,並將 /example-path/index.html 替換為您的檔案路徑。此命令會傳回 get-invalidation AWS CLI 命令的識別碼 id。

若要尋找失效的目前狀態,請執行以下 get-invalidation AWS CLI 命令:

aws cloudfront get-invalidation --id identifier-id --distribution-id example-distribution-ID

**注意:**將 example-distribution-ID 替換為您用來提供檔案的發行項目 ID,並將 identifier-id 替換為用於失效化的識別碼 ID。

若要輪詢失效的狀態直到完成,請執行以下 invalidation-completed AWS CLI 命令:

aws cloudfront wait invalidation-completed --id identifier-id --distribution-id example-distribution-ID

**注意:**將 example-distribution-ID 替換為您用來提供檔案的發行項目 ID,並將 identifier-id 替換為用於失效化的識別碼 ID。

相關資訊

為什麼 CloudFront 會從 Amazon S3 提供過時的內容?