CDN加速

文档中心 API文档 内容管理 推荐-刷新缓存

推荐-刷新缓存

更新时间:2021-05-07 15:24:46
适用产品:通用功能

接口描述

刷新CDN节点上缓存的文件内容,全网一般在1~3分钟内生效,目录推送单账号单域名每日上限为500

请求参数

参数名称类型必填描述
urlsArray要清理缓存的url集合,url的格式要求: 1)URL 必须以'http://' 或 'https://' 开头,输入示例:http://www.a.com/image/test.png。 2)每个url最大长度 2000 字符。 3)每个url所在的域名必须是在我司加速的域名。 4)刷新url每日不超过5000条(账号粒度可调,可联系技术支持调整), 5)每次接口调用urls和dirs的总数不超过500条。 注意:urls和dirs不能同时为空。
dirsArray指要清理缓存的目录集合,dir的格式要求: 1)必须以"http://域名/"开始,以"/"结尾, 如刷新目录test下所有文件,输入格式为:http://www.a.com/test/; 2)每个目录最大长度 1000 字符。 3)每个目录所在的域名必须是在我司加速的域名。 4)目录刷新默认过期,不支持目录删除。 5)刷新目录每日不超过500条(账号粒度可调,可联系技术支持调整) 注意:urls和dirs不能同时为空。
urlActionString仅对入参“urls”有效,指清理url缓存要以哪种类型操作: 1)default:默认值,以频道预先配置好的操作类型处理url缓存,当不赋值或未传参时,默认取频道配置。 2)delete:忽略频道配置里的操作类型,当前提交urls里的所有url,直接删除节点的缓存文件 3)expire:忽略频道配置里的操作类型,当前提交urls里的所有url,将有缓存的节点置为过期,当第一次有访问时,回源站校验文件是否更新,有更新时从源站重新拉取新版本返回给客户,未有更新时则源站响应304,提供节点缓存文件给客户。
dirActionString指清理dir缓存要以哪种类型操作,仅对dirs元素有效,当不赋值或未传参时,默认取频道配置。该参数可选值如下: 1)delete:忽略频道配置里的操作类型,直接删除节点的缓存目录。 2)expire:忽略频道配置里的操作类型,将有缓存的节点置为过期,当第一次有访问时,回源站校验目录是否更新,有更新时从源站重新拉取新版本返回给客户,未有更新时则源站响应304,提供节点缓存目录给客户。 注:使用目录删除(delete)功能,会导致该目录下所有文件缓存全部清空,所有文件需要重新回源拉取,造成回源带宽增加。由于风险较大,该权限默认不开启,如需开启该功能,请联系对应的客服技术支持进行申请开启,开通后只有该客户的账号才能传入delete。

返回参数

参数名称类型描述
x-cnc-request-idString本次请求的唯一标识,当接口调用异常时,可将requestID提供给我司技术支持,便于排查接口的访问日志。
CodeInt表示任务创建结果的状态码,1表示成功,0表示失败
MessageString表示任务提交后,系统的响应消息
itemIdString调用一次接口并提交任务成功后,将返回一个iteamId,是当次提交任务的唯一标识,通过itemId可批量查询任务的状态(成功/失败)。

错误码

错误代码(code)描述(message)HTTP状态码语义
1handle success200任务提交成功
0username is invalid200用户名为空或用户未启用
0urls and dirs must not both be empty200url和目录不允许同时为空
0the number of url and dir out of limit200url和目录数目总和超过限制(500)
0user not allowed push200用户不允许推送
0error channel [xxx,xxx].200错误的频道,(部分错误,正确的url或dir仍会执行)
0system exception200未知异常
0running url or dir [ ],please try again after one minute。200任务正在执行,请不要在1分钟内重复提交任务
0parse json error200json解析出错 如果请求为xml格式,则错误信息为parse xml error
0error channel [%s], dir number reached the daily limit by domain.200单域名超过每日500上限

示例

示例说明
请求示例
复制
#!/bin/bash
username="username"
apiKey="apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/ccm/purge/ItemIdReceiver" \
-X "POST" \
-u "$username:$password" \
-H "Date:$date" \
-H "Content-Type: application/json" \
-d'{
    "urls": [
        "https://www.abc.com/test/test1.txt",
        "https://www.abc.com/test/test2.txt"
            ],
 "urlAction":"delete",
    "dirs": [
        "https://www.abc.com/test/",
        "https://www.abc.com/test2/"
            ],
     "dirAction":"expire"
}'
返回示例
复制
HTTP/1.1 200 OK
Content-Type: charset=utf-8; charset=UTF-8
x-cnc-request-id: 07d54dd4-a57b-46c9_1493594437418
Server: xxx
Content-Length: 81
{
   "Code":1,
   "Message":"handle success",
   "itemId":"64ec364dd81d4052a3534c1e86167950"
}