PushObjectCache

更新時間:
Copy as MD

將源站的內容主動預熱到快取節點上。您首次存取可直接命中快取,緩解源站壓力。

介面說明

  • 請求方式:支援 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 之間用換行符分隔,ObjectPath 的單條長度最長為 1024 個字元。

example.com/image/1.png\nexample.org/image/2.png

Area

string

預熱區域,取值:

  • domestic僅中國內地

  • overseas全球(不包含中國內地)。

如果不傳該參數,預設的預熱區域為您的域名所配置的 CDN 加速區域。

說明
  • 如果需要預熱區域為全球,則必須保證加速域名的加速區域為全球,然後該參數不傳參。

domestic

L2Preload

boolean

是否直接預熱到 L2 節點。取值:

  • true:代表預熱的節點層級必須包含 L2 節點。

  • false:代表僅預熱回源層節點(false 為預設值,回源層節點可能是 L2 節點,也可能是 L3 節點)。

true

WithHeader

string

預熱請求預設攜帶的 header 是 Accept-Encoding:gzip,如果您需要預熱請求攜帶其他 header,或者實現多副本預熱,那麼可以使用該參數來實現自訂預熱 header。用 JSON 串格式提交。

說明

若預熱的時候不需要 Accept-Encoding 頭部,則按如下提交

  • {"Accept-Encoding": [" "]}。

{ "Accept-Encoding": [ "gzip, deflate, br" ] }

QueryHashkey

boolean

該參數用於控制執行預熱任務時是否開啟 hashkey 查詢模式。取值範圍:

  • false:預設模式,不傳參數的時候使用該模式,指的是直接使用提交的 URL 作為預熱檔案的 hashkey。

  • true:根據域名的配置來查詢預熱 URL 實際使用的 hashkey。

true

ConsistencyHash

boolean

如果域名加速區域為中國大陸並且開啟了 HASH 回源,可透過此參數設定 HASH 預熱,實現區域回源收斂,減少預熱產生的回源頻寬。

  • true: 開啟 HASH 預熱。

  • false: 預設邏輯,不開啟 HASH 預熱。

重要 僅對加速區域為中國大陸的域名有效。

true

返回參數

名稱

類型

描述

樣本值

object

PushTaskId

string

預熱返回的任務 ID,多個任務 ID 用半形逗號(,)分隔。預熱返回的任務 ID 會按照以下兩條規則對預熱任務做合併:

  • 同一個域名、同一秒鐘提交的預熱任務(URL 顆粒度)會被合併為同一個 PushTaskId。

  • 同一個域名、同一秒鐘提交的預熱任務(URL 顆粒度)如果超過 500 條,那麼會按照每 500 條合併為一個 PushTaskId 的方式處理。

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. 系統負載波動,請稍候重試。

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情