全部产品
Search
文档中心

CDN:RefreshObjectCaches - 刷新缓存

更新时间:Dec 04, 2024

刷新节点上的文件内容。被刷新的文件缓存将立即失效,新的请求将回源获取最新的文件,支持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:RefreshObjectCachesnone
*Domain
acs:cdn:*:{#accountId}:domain/{#DomainName}

请求参数

名称类型必填描述示例值
ObjectPathstring
  • 单次提交多个 URL 或多个目录时,使用换行符(\n)或(\r\n)分隔。
  • 单次提交的任务中所有 URL 的域名个数总和需要在 10 个以内。
http://example.com/image/1.png http://aliyundoc.com/image/2.png
ObjectTypestring

刷新类型。取值范围:

  • File(默认值):URL。
  • Directory:目录。
  • Regex:正则刷新。
  • IgnoreParams:去参数刷新。去参数指的是去除请求 URL 中??之后的参数,去参数刷新指的是用户先通过接口提交去参数后的 URL,然后用户提交的待刷新 URL 将会与已缓存资源的 URL 进行去参数匹配,如果已缓存资源的 URL 去参数以后与待刷新 URL 匹配,那么 CDN 节点将对缓存资源执行刷新处理。
说明
  • URL 刷新和目录刷新的功能说明请参考刷新和预热资源
  • 文件刷新将直接删除节点上的资源,当有新请求时回源拉取新资源。其它刷新类型默认只刷新发生变更的资源,需要强制刷新请配置 Force 参数为 true,详见 Force 参数说明。
  • File
    Forceboolean

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

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

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

    说明 此参数生效范围:使用目录刷新、正则刷新、去参数刷新这三种刷新方式的时候可以生效。
    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.刷新数量超过日quota限额。
    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-

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

    变更历史

    变更时间变更内容概要操作
    2024-11-19OpenAPI 描述信息更新、OpenAPI 错误码发生变更查看变更详情
    2023-10-17OpenAPI 错误码发生变更、OpenAPI 入参发生变更查看变更详情