开发者社区 问答 正文

如何预热缓存?



描述


将源站的内容主动预热到L2 Cache节点上,用户首次访问可直接命中缓存,缓解源站压力。
限制:

  • 同一个 ID 每天最多提交刷新预热类请求数量:URL:2000条;注意目前不支持目录级别的预热
  • 刷新预热类接口包含 RefreshObjectCaches 刷新接口和 PushObjectCache 预热接口


请求参数

参数类型必要描述
ActionString操作接口名,系统规定参数,取值:PushObjectCache
ObjectPathString输入示例:abc.com/image/1.png,多个URL之间需要用换行符(\n或\r\n)分隔


返回参数

名称类型描述
PushTaskIdString预热返回的任务ID,多个任务ID用逗号(半角)分隔


特定错误码

ErrorCode 错误码Message 错误信息HTTP 状态语义
ThrottlingRequest was denied due to request throttling.503请求被流量控制限制
IllegalOperationIllegal domain operate is not permitted.403非法域名, 无法操作
OperationDeniedYour account does not open CDN service yet.403未开通CDN服务
OperationDeniedYour CDN service is suspended.403CDN服务已被停止
InvalidDomain.NotFoundThe domain provided does not belong to you.404域名不存在或不属于当前用户
InvalidDomain.OfflineThe domain provided is offline.404域名已下线
QuotaExceeded.RefreshYou’ve exceeded the prescribed refresh limits.400超出当日刷新限制
ServiceBusyThe specified Domain is configuring, please retry later.403域名正在配置中, 请稍后再试
InvalidDomain.Configure_failedFailed to configure the provided domain.500域名配置失败, 无法刷新
MissingParameterThe input parameter “ObjectPath” that is mandatory for processing this request is not supplied.400缺少ObjectPath参数
InvalidObjectPath.MalformedThe specific value of parameter ObjectPath is malformed.400ObjectPath值格式错误
InvalidExtensiveDomain.ValueNotSupportedExtensive domain not supported.400不支持泛域名


示例


请求示例 https://cdn.aliyuncs.com?&Action=PushObjectCache&ObjectPath=test.test.com/test.txt&ObjectType=File&<公共请求参数>

返回示例
JSON格式: {
"PushTaskId": "95248880",
"RequestId": "E5BD4B50-7A02-493A-AE0B-97B9024B4135"
}




XML格式: <PushObjectCacheResponse>
  <PushTaskId>95250421</PushTaskId>
  <RequestId>5FF9B16E-FBAC-48E5-9052-65B5F0184DB3</RequestId>
</PushObjectCacheResponse>

展开
收起
青衫无名 2017-10-24 10:21:36 3915 分享 版权
阿里云 AI 助理回答

Action=PushObjectCache&ObjectPath=abc.com/image/1.png\nabc.com/image/2.png

响应示例 { "PushTaskId": "taskId1,taskId2" }

根据您提供的信息,这是关于阿里云CDN(内容分发网络)的预热功能说明。预热功能允许用户将源站的内容主动预先加载到L2缓存节点上,这样当用户首次访问时,可以直接从缓存中获取内容,从而减少源站压力并提升访问速度。

请求参数说明:

  • Action: 必填参数,操作接口名,对于预热操作应填写 PushObjectCache
  • ObjectPath: 必填参数,表示需要预热的文件URL路径,多个URL之间需要用换行符(\n\r\n)分隔。例如:abc.com/image/1.png\nabc.com/image/2.png

返回参数说明:

  • PushTaskId: 预热任务ID,如果提交了多个URL预热,返回的任务ID会用逗号分隔。

特定错误码及描述:

  • Throttling: 请求被流量控制限制,HTTP状态码为503。
  • IllegalOperation: 非法域名操作,403错误。
  • OperationDenied: 未开通CDN服务或CDN服务已被停止,均为403错误。
  • InvalidDomain.NotFound: 域名不存在或不属于当前用户,404错误。
  • InvalidDomain.Offline: 域名已下线,404错误。
  • QuotaExceeded.Refresh: 超出当日刷新限制,400错误。
  • ServiceBusy: 域名正在配置中,请稍后再试,403错误。
  • InvalidDomain.Configure_failed: 域名配置失败,无法刷新,500错误。
  • MissingParameter: 缺少必要的 "ObjectPath" 参数,400错误。
  • InvalidObjectPath.Malformed: "ObjectPath" 参数值格式错误,400错误。
  • InvalidExtensiveDomain.ValueNotSupported: 不支持泛域名操作,400错误。

示例请求:

请求URL示例展示了如何构造一个预热请求,通过GET方法向阿里云CDN API发送请求,并在URL后面附带请求参数。实际应用中,通常推荐使用POST方法和签名版本的API调用方式,以提高安全性并避免URL长度限制问题。

请注意,进行此类操作前,确保您的账户已开通阿里云CDN服务,并且了解相关费用政策以及操作限制。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答标签:
问答地址: