RefreshObjectCaches - 刷新缓存

更新时间:
复制 MD 格式

刷新节点上的文件内容。被刷新的文件缓存将立即失效,新的请求将回源获取最新的文件,支持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:RefreshObjectCaches

none

*Domain

acs:cdn:*:{#accountId}:domain/{#DomainName}

请求参数

名称

类型

必填

描述

示例值

ObjectPath

string

  • 单次提交多个 URL 或多个目录时,使用换行符分隔。

  • 单次提交的任务中所有 URL 的域名个数总和需要在 10 个以内。

http://example.com/image/1.png http://aliyundoc.com/image/2.png

ObjectType

string

刷新类型。取值范围:

  • File(默认值):URL。

  • Directory:目录。

  • Regex:正则刷新。

  • IgnoreParams:去参数刷新。去参数指的是去除请求 URL 中??之后的参数,去参数刷新指的是用户先通过接口提交去参数后的 URL,然后用户提交的待刷新 URL 将会与已缓存资源的 URL 进行去参数匹配,如果已缓存资源的 URL 去参数以后与待刷新 URL 匹配,那么 CDN 节点将对缓存资源执行刷新处理。

说明
  • URL 刷新和目录刷新的功能说明请参考刷新和预热资源

  • 文件刷新将直接删除节点上的资源,当有新请求时回源拉取新资源。其它刷新类型默认只刷新发生变更的资源,需要强制刷新请配置 Force 参数为 true,详见 Force 参数说明。

File

Force

boolean

是否直接删除 CDN 节点上的缓存。默认为 false。

  • true:直接删除 CDN 节点上的缓存。直接删除意味着立即将指定的缓存资源从 CDN 的所有节点上删除,下一个对该资源的请求将需要访问源服务器去获取最新版本的数据,然后重新进行缓存。这种方式可以确保一旦执行了删除操作后,所有后续请求都将获得最新的内容,适合于需要立即更新缓存内容的情况,例如紧急修复安全漏洞或者发布重要更新时。但需要注意的是,这可能会瞬间增加源服务器的压力,因为所有相关请求都需要访问源服务器。

  • false:对 CDN 节点上的缓存标记过期。将缓存资源标记为过期之后,下一个对该资源的请求到达时,CDN 节点将会回源验证该资源的最新版本,若与当前缓存资源一致,则直接返回已缓存资源,若不一致,则回源拉取新资源返回给用户,并重新缓存该资源。这种方法的好处是它允许逐渐更新缓存中的内容,而不是立即全部清除,适用于需要平滑过渡的情况,可以减少由于直接删除大量缓存而可能导致源站压力增大。

说明

此参数生效范围:使用目录刷新、正则刷新、去参数刷新这三种刷新方式的时候可以生效。

false

ReplicaTag

string

参数暂不可用。

false

返回参数

名称

类型

描述

示例值

object

RefreshTaskId

string

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

  • 同一个域名、同一秒钟提交的刷新任务(URL 颗粒度)会被合并为同一个 RefreshTaskId。

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

704222901

RequestId

string

请求 ID。

D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C

示例

正常返回示例

JSON格式

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

异常返回示例

JSON格式

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

错误码

HTTP status code

错误码

错误信息

描述

400 SingleRequest.OverLimit A maximum of 1000 URLs are supported for each request.
400 InvalidObjectType.Malformed The specified ObjectType is invalid. 指定的ObjectType无效。
400 InvalidObjectPath.Malformed The specified ObjectPath is invalid.
400 QuotaExceeded.Refresh Your refresh attempts have exceeded the daily limit. 刷新数量超过日quota限额。
400 InvalidExtensiveDomain.ValueNotSupported The specified ExtensiveDomain is not supported.
400 QuotaPerMinuteExceeded.Refresh You tried to refresh too frequently, please try again later.
400 TooMany.Refresh The refresh queue is full, please try again later.
429 TooManyRequests Too many requests, please try again later

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

变更历史

更多信息,参考变更详情