有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

1. 接口描述

接口请求域名: teo.tencentcloudapi.com 。

当源站资源更新,但节点缓存 TTL 未过期时,用户仍会访问到旧的资源,此时可以通过该接口实现节点资源更新。触发更新的方法有以下两种:

  • 直接删除:不做任何校验,直接删除节点缓存,用户请求时触发回源拉取;
  • 标记过期:将节点资源置为过期,用户请求时触发回源校验,即发送带有 If-None-Match 和 If-Modified-Since 头部的 HTTP 条件请求。若源站响应 200,则节点会回源拉取新的资源并更新缓存;若源站响应 304,则节点不会更新缓存;
  • 清除缓存任务详情请查看清除缓存

    默认接口请求频率限制:20次/秒。

    推荐使用 API Explorer
    点击调试
    API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

    2. 输入参数

    以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

    参数名称 必选 类型 描述
    Action String 公共参数,本接口取值:CreatePurgeTask。
    Version String 公共参数,本接口取值:2022-09-01。
    Region String 公共参数,此参数为可选参数。
    ZoneId String 站点 ID。
    Type String 节点缓存清除类型,取值有:
  • purge_url:URL刷新;
  • purge_prefix:目录刷新;
  • purge_host:Hostname 刷新;
  • purge_all:站点下全部缓存刷新;
  • purge_cache_tag:cache-tag 刷新。
  • 缓存清除类型详情请查看清除缓存
    Method String 节点缓存清除方法,针对目录刷新、Hostname刷新以及刷新全部缓存类型有效,取值有:
  • invalidate:仅刷新目录下产生了更新的资源;
  • delete:无论目录下资源是否更新都刷新节点资源。
  • 默认值: invalidate。
    Targets.N Array of String 要清除缓存的资源列表。每个元素格式依据清除缓存类型而定,可参考接口示例。
  • 单次提交的任务数受计费套餐配额限制,请查看 EO计费套餐
  • 3. 输出参数

    参数名称 类型 描述
    JobId String 任务 ID。
    FailedList Array of FailReason 失败的任务列表及原因。
    注意:此字段可能返回 null,表示取不到有效值。
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 URL刷新

    此清除类型使用的是直接删除的清除方法,会匹配清除提交的 URL 的节点缓存资源。
    例如:需要清除站点域名 www.example.com 下 /a.txt 资源,可以参照以下示例进行刷新。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Targets": [
            "http://www.example.com/a.txt"
        ],
        "Type": "purge_url",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwch",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    示例2 Hostname 刷新

    此清除类型使用的是标记过期的清除方法,会将提交的 Hostname 下的所有资源标记为过期。
    例如:需要清除站点域名 www.example.com 下所有发生过变更的资源,可以参照以下示例进行刷新。

  • 注意:不支持提交 *.test.com 格式的 Host,即域名中不能包含通配符,需要写明对应的子域名。
  • 输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Targets": [
            "www.example.com"
        ],
        "Type": "purge_host",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwcs",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    示例3 Cache-Tag 刷新

    此清除类型使用的是直接清除的清除方法,会将该站点下所有 HTTP 应答包中存在对应 Cache-Tag 响应头标签值(tags)的资源直接清除。
    例如:需要清除站点 example.com 下所有 HTTP 应答包中包含 tag1、tag2 或 tag3 标签的资源,可以参照以下示例进行刷新。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Targets": [
            "tag1",
            "tag2",
            "tag3"
        ],
        "Type": "purge_cache_tag",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwcs",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    示例4 刷新站点下全部缓存

    此清除类型使用的是标记过期的清除方法,会将所提交站点下的缓存内容都标记为过期。
    例如:需要清除站点 example.com 下的所有发生过变更的资源,可以参考以下示例进行刷新。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Type": "purge_all",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwcs",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    示例5 目录刷新 — 直接删除对应目录下的资源

    此清除方式需要将 Method 的值调整为 delete, 使用直接删除的清除方法清除节点资源。
    例如:需要清除站点域名 www.example.com 下 /test 目录下所有资源,可以参考以下示例进行刷新。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Targets": [
            "http://www.example.com/test/"
        ],
        "Type": "purge_prefix",
        "Method": "delete",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwck",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    示例6 目录刷新 — 仅刷新目录下发生变更的资源

    此清除类型默认使用的是标记过期的清除方法,可以根据 Method 调整清除方式。
    例如:需要清除站点域名 www.example.com 下 /test 目录下所有发生变更的资源,可以参考以下示例进行刷新。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreatePurgeTask
    <公共请求参数>
    
    {
        "Targets": [
            "http://www.example.com/test/"
        ],
        "Type": "purge_prefix",
        "Method": "invalidate",
        "ZoneId": "zone-ajj243dwrew"
    }

    输出示例

    {
        "Response": {
            "JobId": "20ga521cpwcj",
            "FailedList": [],
            "RequestId": "3c140219-cfe9-470e-b241-907877d6fb03"
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    InternalError.BackendError 后台处理出错。
    InternalError.DomainConfig 获取配置失败。
    InternalError.ProxyServer 后端服务器发生未知错误。
    InternalError.QuotaSystem 配额系统处理失败。
    InvalidParameter.DomainNotFound 域名不存在或不属于该账号。
    InvalidParameter.ParameterError 参数错误: 无效 "结束时间", 不在允许的查询范围内: [开始时间, 开始+ 7天]
    InvalidParameter.Target 资源存在错误。
    InvalidParameter.TaskNotGenerated 任务无法生成。
    InvalidParameter.UploadUrl 文件上传链接存在问题。
    LimitExceeded.BatchQuota 本次提交的资源数超过上限。
    LimitExceeded.DailyQuota 当天提交的资源数超过上限。
    LimitExceeded.PackNotAllow 计费套餐不支持。
    UnauthorizedOperation.CamUnauthorized Cam 未授权。
    UnauthorizedOperation.NoPermission 子账户没有操作权限,请添加权限后继续操作。
    UnauthorizedOperation.Unknown 后端服务器发生未知错误。