文档

RefreshObjectCaches - 刷新缓存

更新时间:

调用RefreshObjectCaches刷新节点上的文件内容。被刷新的文件缓存将立即失效,新的请求将回源获取最新的文件,支持URL批量刷新。

接口说明

注意事项

  • 提交刷新任务并成功执行后,CDN 节点上对应的缓存资源将会失效,当您再次发起访问请求时,节点会回源站拉取所需资源,并重新缓存在节点上,因此大批量提交刷新任务会清空较多缓存,导致回源带宽和请求突增,增加源站压力。
  • 刷新任务从提交到生效,大约需要 5~6 分钟,如果文件或者目录配置的缓存过期时间少于 5 分钟,您无需执行刷新操作,等待文件或者目录缓存超时更新即可。
  • 使用 RAM 用户来执行刷新或预热操作的,需要先获得授权,请参见授予 RAM 用户刷新预热权限完成授权。

URL 刷新配额

  • 默认情况下,一个账号每日最多可以提交 10000 条 URL 刷新和 100 个目录刷新,目录刷新包含子目录。如果您的阿里云账号的日带宽峰值大于 200 Mbps,您可以参考配额管理申请提升每日配额,阿里云将根据您业务的实际需求进行评估和配置。
  • 默认情况下,一个账号每日最多可以提交 20 个正则刷新、100 个去参数刷新,如果您的阿里云账号的日带宽峰值大于 10 Gbps,您可以通过填写信息来申请提升每日配额。
  • 每次请求最多支持提交 1000 条 URL 刷新或者 100 个目录刷新或者 1 个正则刷新。
  • 单个域名每分钟最多支持提交 10000 条 URL 刷新。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
cdn:RefreshObjectCachesWRITE
  • Domain
    acs:cdn:*:{#accountId}:domain/{#DomainName}

请求参数

名称类型必填描述示例值
ObjectPathstring

刷新 URL,格式为加速域名刷新的文件或目录

多个 URL 之间使用换行符(\n)或(\r\n)分隔。

http://example.com/image/1.png\nhttp://aliyundoc.com/image/2.png
ObjectTypestring

刷新任务类型,取值:

  • File(默认值):文件刷新。
  • Directory:目录刷新。
  • Regex:正则刷新。
  • IgnoreParams:去参数刷新。去参数指的是去除请求 URL 中?及?之后的参数,去参数刷新指的是用户先通过接口提交去参数后的 URL,然后用户提交的待刷新 URL 将会与已缓存资源的 URL 进行去参数匹配,如果已缓存资源的 URL 去参数以后与待刷新 URL 匹配,那么 CDN 节点将对缓存资源执行刷新处理。

文件刷新和目录刷新的功能说明请参考刷新和预热资源,正则刷新的功能说明和操作示例请参考正则刷新说明

目录刷新默认采用标记资源过期的处理方式,不支持删除目录。目录刷新会将节点上对应目录置为过期,后续有用户访问时,CDN 节点将会回源站校验目录是否更新,有更新时从源站重新拉取新版本返回给用户,未有更新时源站响应 304 状态码。

File
Forceboolean

当回源内容和源站资源对比后不一致时,是否刷新对应目录下的资源。默认为 false。

  • true:刷新对应目录下的全部资源。选择 “刷新全部资源” 时,如果用户请求的内容匹配到了目录下的资源,CDN 节点将会直接回源拉取新资源返回给用户,并重新缓存该资源。
  • false:刷新对应目录下发生变更的资源。选择 “刷新变更资源” 时,如果用户请求的内容匹配到了目录下的资源,CDN 节点将会回源获取资源的 Last-Modified 信息,若与当前缓存资源一致,则直接返回已缓存资源,若不一致,则回源拉取新资源返回给用户,并重新缓存该资源。
false

返回参数

名称类型描述示例值
object
RefreshTaskIdstring

刷新返回的任务 ID,多个任务 ID 用半角逗号(,)分隔。刷新返回的任务 ID 会按照以下两条规则对刷新任务做合并:

  • 同一个域名、同一秒钟提交的刷新任务(URL 颗粒度)会被合并为同一个 RefreshTaskId。
  • 同一个域名、同一秒钟提交的刷新任务(URL 颗粒度)如果超过 2000 条,那么会按照每 2000 条合并为一个 RefreshTaskId 的方式处理。
704222901
RequestIdstring

请求 ID。

D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C

示例

正常返回示例

JSON格式

{
  "RefreshTaskId": "704222901",
  "RequestId": "D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C"
}

错误码

HTTP status code错误码错误信息描述
400SingleRequest.OverLimitA maximum of 1000 URLs are supported for each request.-
400InvalidObjectType.MalformedThe specified ObjectType is invalid.指定的ObjectType无效。
400InvalidObjectPath.MalformedThe specified ObjectPath is invalid.-
400QuotaExceeded.RefreshYour refresh attempts have exceeded the daily limit.-
400InvalidExtensiveDomain.ValueNotSupportedThe specified ExtensiveDomain is not supported.-
400QuotaPerMinuteExceeded.RefreshYou tried to refresh too frequently, please try again later.-
400TooMany.RefreshThe refresh queue is full, please try again later.-
429TooManyRequestsToo many requests, please try again later-

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-10-17OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情