我想從 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 提供過時的內容?