調用PushObjectCache將源站的內容主動預熱到緩存節點上。您首次訪問可直接命中緩存,緩解源站壓力。
接口說明
- 請求方式:支持 POST 請求,參數用 form 表單顯示。
- 相關接口:刷新預熱類接口包含 RefreshObjectCaches 刷新接口和 PushObjectCache 預熱接口。
- URL 預熱配額(每日):默認情況下,一個賬號每日最多可以提交 1000 條 URL 預熱任務,如果您賬號的日帶寬峰值大于 200 Mbps,可通過配額管理申請提升每日配額,阿里云將根據您業務的實際需求進行評估和配置。
- 每次最多可以提交 100 條 URL 預熱任務。
- 預熱隊列規則:每個賬號的預熱隊列最大為 100000 條 URL,CDN 根據 URL 提交的先后順序進行預熱;當預熱隊列中待預熱的 URL 達到了 100000 條時,CDN 將會拒絕接收新的預熱任務。
- 單用戶調用頻率:50 次/秒。
- 如果您需要自動化刷新或預熱,請參見刷新預熱批處理腳本。
注意事項
- 提交預熱任務并成功執行后,CDN 節點會立即回源站加載所需資源,因此大批量提交預熱任務會生成較多的并發下載任務,導致回源帶寬和請求突增,增加源站壓力。
- 預熱任務從提交到預熱完成,實際執行時間視預熱文件大小而定,大約需要 5~30 分鐘,文件平均大小越小,預熱速度越快。
- 使用 RAM 用戶來執行刷新或預熱操作的,需要先獲得授權,請參見授予 RAM 用戶刷新預熱權限完成授權。
- 預熱請求默認攜帶的 header 是 Accept-Encoding:gzip,如果您需要預熱請求攜帶其他 header,或者實現多副本預熱,那么可以使用請求參數 WithHeader 來實現自定義預熱 header。
- 預熱時,如果源站返回 307 等重定向相關的狀態碼,預熱任務并不會跟隨重定向地址繼續完成預熱,最終會導致預熱失敗。如果源站返回的是 301 或者 302 狀態碼,并且 CDN 上已經開啟了回源 301/302 跟隨,這種情況下正常預熱不受影響。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
cdn:PushObjectCache | none | *Domain acs:cdn:*:{#accountId}:domain/{#DomainName} |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ObjectPath | string | 是 | 預熱 URL,格式為加速域名/預熱的文件。 說明
多個 URL 之間用換行符(\n)或(\r\n)分隔,ObjectPath 的單條長度最長為 1024 個字符。
| example.com/image/1.png\nexample.org/image/2.png |
Area | string | 否 | 預熱區域。取值:
如果不傳該參數,默認的預熱區域為您的域名所配置的 CDN 加速區域。具體如下:
| domestic |
L2Preload | boolean | 否 | 是否直接預熱到 L2 節點。取值:
| true |
WithHeader | string | 否 | 預熱請求默認攜帶的 header 是 Accept-Encoding:gzip,如果您需要預熱請求攜帶其他 header,或者實現多副本預熱,那么可以使用該參數來實現自定義預熱 header。用 JSON 串格式提交。 說明
若預熱的時候不需要 Accept-Encoding 頭部,則按如下提交
| { "Accept-Encoding": [ "gzip, deflate, br" ] } |
QueryHashkey | boolean | 否 | 該參數用于控制執行預熱任務時是否開啟 hashkey 查詢模式。取值范圍:
| true |
返回參數
示例
正常返回示例
JSON
格式
{
"PushTaskId": "9524xxxx",
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
錯誤碼
HTTP status code | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | SingleRequest.OverLimit | A maximum of 1000 URLs are supported for each request. | - |
400 | QuotaExceeded.Preload | Your preload attempts have exceeded the daily limit. | 超出當日預熱額度限制。 |
400 | InvalidObjectPath.Malformed | The specified ObjectPath is invalid. | - |
400 | InvalidExtensiveDomain.ValueNotSupported | The specified ExtensiveDomain is not supported. | - |
400 | PreloadQueueFull | The warming queue is full,please try again later. | - |
400 | PreloadQueueFull | Preload queue is full, please try again later. | 預熱隊列已滿,請稍候重試。 |
400 | QuotaPerMinuteExceeded.Refresh | You have exceeded the prescribed preload limits per minute. | - |
400 | InvalidObjectPath.ExceedsMaximum | The maximum number of urls is exceeded. | 提交URL數超過最大限制。 |
400 | InvalidCustomHeader | Parse preload header failed. | 自定義頭部解析錯誤。 |
400 | InvalidCustomHeader | Unsupported Preload headers included. | 無效的自定義預熱頭部。 |
429 | TooManyRequests | System load fluctuates, please try again later. | 系統負載波動,請稍候重試。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-11-03 | OpenAPI 描述信息更新、OpenAPI 錯誤碼發生變更、OpenAPI 入參發生變更 | 查看變更詳情 |
2024-08-21 | OpenAPI 錯誤碼發生變更 | 查看變更詳情 |
2023-07-25 | OpenAPI 錯誤碼發生變更 | 查看變更詳情 |