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程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
cdn:PushObjectCache |
none |
*Domain
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ObjectPath |
string |
是 |
預熱 URL,格式為加速域名/預熱的檔案。 說明
多個 URL 之間用換行符分隔,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 |
| ConsistencyHash |
boolean |
否 |
如果域名加速區域為中國大陸並且開啟了 HASH 回源,可透過此參數設定 HASH 預熱,實現區域回源收斂,減少預熱產生的回源頻寬。
重要 僅對加速區域為中國大陸的域名有效。 |
true |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| PushTaskId |
string |
預熱返回的任務 ID,多個任務 ID 用半形逗號(,)分隔。預熱返回的任務 ID 會按照以下兩條規則對預熱任務做合併:
|
9524xxxx |
| RequestId |
string |
請求 ID。 |
16A96B9A-F203-4EC5-8E43-CB92E68F4CD8 |
樣本
正常返回樣本
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 | 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. | 自訂標頭解析錯誤。 |
| 429 | TooManyRequests | System load fluctuates, please try again later. | 系統負載波動,請稍候重試。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。