缓存刷新

源站内容更新后,希望将更新结果实时反映在CDN服务节点上。由于CDN有默认或用户设置过的缓存规则,需要使用缓存刷新功能清楚节点上的缓存内容,这样之后用户再次访问该文件时获取到的就是更新后的文件了。

可以对单个或者批量的文件进行强制缓存刷新。每个订阅每天文件刷新额度为2000,目录刷新额度为500。

请求

方法 请求 URI
POST https://restapi.cdn.azure.cn/subscriptions/{subscriptionId}/endpoints/{endpointId}/purges?apiVersion=1.0

URI参数

参数名 描述
subscriptionId 订阅唯一标识
endpointId 目标节点唯一标识

请求 Headers

请求包头 描述
x-azurecdn-request-date 必填。符合yyyy-MM-dd HH:mm:ss格式的UTC当前请求时间
Authorization 必填。授权头请参考CDN API签名机制
content-type 必填。application/json

请求 Body

添加缓存刷新,需写明一下参数,JSON示例文件如下:

{
  "Files": [
    "http://example.com/pictures/city.png"
  ],
  "Directories": [
    "http://example.com/pictures/"
  ]
}
参数名称 描述
Files 刷新文件列表,路径必须为绝对路径如:http://example.com/pictures/city.png
Directories 刷新目录列表,路径必须为绝对路径如:http://example.com/pictures/

响应

响应由状态码,响应 headers以及响应 body组成。

状态码

状态码 描述
202 表明服务器成功接受请求
其他 表示出错的通用回复

响应 Headers

响应包头 描述
X-Correlation-Id 该请求唯一标识,用于追踪请求信息。

响应 Body

请求成功的JSON示例文件如下

{
  "Succeeded": true,
  "IsAsync": true,
  "AsyncInfo": {
    "TaskTrackId": "b520c544-ec34-4ac4-86f5-5394363919c3",
    "TaskStatus": "Processing"
  }
}
参数名称 描述
TaskTrackId 刷新操作唯一标识,可用于查询刷新进度
TaskStatus 任务状态。
  • NotSet: 状态未知
  • Processing: 正在处理
  • Succeeded: 成功
  • Failed: 失败

请求失败的JSON示例:

{
  "Succeeded": false,
  "ErrorInfo": {
    "Type": "MissingAuthorizationHeader",
    "Message": "Missing authorization header."
  }
}
参数名称 描述
Type 错误类型
  • CredentialInvalid: 凭据不合法
  • ParameterMissing: 缺少参数
  • ParameterInvalid: 参数不合法
  • MissingAuthorizationHeader: 缺少Authorization请求头
  • InvalidRequestDateHeader: 请求时间不合法
  • MissingRequestDateHeader: 缺少请求时间头
  • AuthorizationHeaderExpired: Authorization请求头已失效
  • InvalidAuthorizationHeader: Authorization请求头不合法
  • ApiKeyNotFound: API密钥不存在
  • InvalidApiKey: API密钥不合法
  • WrongSignature: 签名不对
  • SubscriptionNotFound: 订阅不存在
  • EndpointDoesNotBelongToSubscription: 节点不属于订阅
  • EndpointNotInActiveState: 节点不处于活跃状态
  • EndpointNotFound: 节点不存在
  • MaliciousItemPathDetected: 检查到恶意路径
  • PermissionDenied: 权限不够
  • RequestThrottled: 请求被限流
    Message 错误信息