Prefetches content from origin servers to points of presence (POPs). This reduces workloads on origin servers because users can hit cache upon their first visits.
Operation description
- You can call the RefreshDcdnObjectCaches operation to refresh content and call the PreloadDcdnObjectCaches operation to prefetch content.
- Dynamic Content Delivery Network (DCDN) supports POST requests in which parameters are sent as a form.
- By default, each Alibaba Cloud account can submit up to 1,000 URLs per day. If the daily peak bandwidth value of your workloads exceeds 200 Mbit/s, you can submit a ticket to increase your daily quota. Alibaba Cloud reviews your application and then increases the quota accordingly.
- You can specify up to 100 URLs to prefetch.
- The prefetch queue of each Alibaba Cloud account can contain up to 100,000 URLs. DCDN executes prefetch tasks based on the time at which you submit the URLs.
- You can call this operation up to 15 times per second per account.
Description
- After a refresh task is submitted and completed, the POPs immediately start to retrieve resources from the origin server. Therefore, a large number of refresh tasks cause a large number of concurrent download tasks. This increases the number of requests that are redirected to the origin server. The back-to-origin routing process consumes more bandwidth resources and the origin server may be overwhelmed.
- The time required for a prefetch task to complete is proportional to the size of the prefetched file. In actual practice, most prefetch tasks require 5 to 30 minutes to complete. A task with a smaller average file size requires less time.
- To allow RAM users to perform this operation, you need to first grant them the required permissions. For more information, see Authorize a RAM user to prefetch and refresh resources.
Debugging
Authorization information
There is currently no authorization information disclosed in the API.
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
ObjectPath | string | Yes | The path of the content that you want to prefetch. Separate multiple URLs with line feed characters (\n) or a pair of carriage return and line feed characters (\r\n). | example.com/examplefile.txt |
Area | string | No | The acceleration region in which you want to prefetch content. If you do not specify a region, the value overseas is used.
| domestic |
L2Preload | boolean | No | Specifies whether to prefetch content to POPs. Valid values:
| true |
WithHeader | string | No | The custom header for prefetch in the JSON format. | { "Accept-Encoding": [ "gzip" ] } |
Response parameters
Examples
Sample success responses
JSON
format
{
"PreloadTaskId": "95248880",
"RequestId": "E5BD4B50-7A02-493A-AE0B-97B9024B4135"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | SingleRequest.OverLimit | A maximum of 1000 URLs are supported for each request. | - |
400 | QuotaExceeded.Preload | Your refresh attempts have exceeded the daily limit. | The maximum number of refresh and prefetch requests on the current day has been reached. |
400 | InvalidObjectPath.Malformed | The specified ObjectPath is invalid. | The ObjectPath parameter is set to an invalid value. Specify a valid value and try again. |
400 | InvalidExtensiveDomain.ValueNotSupported | The specified ExtensiveDomain is not supported. | Wildcard domain names are not supported. |
400 | PreloadQueueFull | The warming queue is full; please try again later. | The maximum number of URLs of the objects that are being prefetched has been reached. Try again later. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-07-25 | The Error code has changed | View Change Details |