节点管理-设置缓存规则

通过该API可以针对目录,文件名和全路径配置缓存规则。

  • 根据目录进行配置:目录必须以 "/" 开头,比如: "/pic", "/doc", "/htdoc/data" 等等。后台会匹配指定目录下的所有文件,包括子目录*
  • 根据文件后缀配置:常用文件后缀名,比如:"jpg", "png", "gif", "txt", "m4v", "mp3" 等等。后台会匹配 所有文件夹下 指定的文件后缀。
  • 根据全路径配置:用来指定 一个文件,必须以 "/" 开头。比如:"/sites/doc/example.doc"。注意:如果用户填的全路径是"/",则它匹配首页。

注意 用户填写配置规则时,字符串中不要包含 “{”, “}”, “(”, “)”, “[”, “]”, “.”, “?", “*”, “\”, “^”, “$” 等特殊字符。

注意 时间填为0表示禁止缓存,不缓存规则优先执行。

请求

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

URI参数

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

请求 Headers

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

请求 Body

{
  "Rules": [
    {
      "Type": "Dir",
      "Items": [
        "/test1/",
        "/test2/"
      ],
      "TTL": 86400
    },
    {
      "Type": "Suffix",
      "Items": [
        "7z",
        "apk",
        "wdf",
        "cab"
      ],
      "TTL": 2592000
    },
    {
      "Type": "FullUri",
      "Items": [
        "/test1/test.xml",
        "/test2/test.txt"
      ],
      "TTL": 86400
    },
  ],
  "IgnoreCacheControl": false,
  "IgnoreCookie": false,
  "IgnoreQueryString": false
}
参数名称 描述
TTL 缓存时间,单位为秒
IgnoreCacheControl 是否忽略返回头中的cache-control头部对请求内容进行缓存
IgnoreCookie 是否忽略返回头中的set-cookie头部对请求内容进行缓存
IgnoreQueryString 是否忽略查询参数对请求内容进行缓存
Type 缓存规则类型。
  • Suffix: 基于文件拓展名进行缓存
  • Dir: 对指定目录下的所有文件进行缓存
  • FullUri: 对指定路径的文件进行缓存

响应

响应由状态码,响应 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 错误信息