全部产品
Search
文档中心

CDN:BatchSetCdnDomainConfig - 批量配置域名

更新时间:Aug 06, 2024

调用BatchSetCdnDomainConfig进行域名批量配置。

接口说明

  • 单用户调用频率:3 次/秒。
  • 支持批量配置域名,多个域名用半角逗号(,)分隔,一次最多支持配置 50 个域名。
  • 调用 BatchSetCdnDomainConfig 给域名配置某些功能后,将会生成唯一的 ConfigId,通过 ConfigId 可以完成更新和删除配置操作。具体使用方法,请参见 ConfigId 使用与查询

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
cdn:BatchSetCdnDomainConfigupdate
  • Domain
    acs:cdn:*:{#accountId}:domain/{#DomainNames}
  • ram:CreateServiceLinkedRole

请求参数

名称类型必填描述示例值
DomainNamesstring

加速域名,多个域名用半角逗号(,)分隔。

www.example.com
Functionsstring

功能列表,格式如下:

  • functionName(功能名称,必填):可配置功能请参见功能列表,多个参数之间用半角逗号(,)分隔。
  • argName(参数名称,必填):functionName 的配置项(可配置多个配置项)。
  • argValue(参数值,必填):functionName 的配置项的取值。
  • parentid(规则条件 ID,非必填):通过配置域名配置功能参数中的功能函数 condition(规则引擎),可以创建出规则条件(规则条件可以通过识别用户请求中携带的各种参数来匹配和过滤用户请求),每一个规则条件被创建以后都会生成一个对应的 configid ,configid 可以被当作 ParentId 参数被其他功能函数引用,这样规则条件就可以与功能配置一起组合形成更灵活的配置。

parentId-1:表示删除该配置里面已有的规则条件。

   "functionArgs": [{
     "argName": "功能参数 A", 
     "argValue": "功能参数 A 对应的值"
    }, 
  {
    "argName": "功能参数 B", 
    "argValue": "功能参数 B 对应的值"
     }], 
 "functionName": "功能名称",
 "parentId": 选填项,对应引用规则条件的 configid
}]

不使用 parentId 的情况下,配置示例如下: 使用函数origin_request_header添加回源 HTTP 请求头的时候引用了configid=222728944812032的规则条件,请求参数如下:

        "functionArgs": [{
            "argName": "header_operation_type",
            "argValue": "add"
        }, {
            "argName": "header_name",
            "argValue": "Accept-Encoding"
        }, {
            "argName": "header_value",
            "argValue": "gzip"
        }, {
            "argName": "duplicate",
            "argValue": "off"
        }],
        "functionName": "origin_request_header"
}]

使用 parentId 的情况下,配置示例如下: 使用函数origin_request_header添加回源 HTTP 请求头的时候引用了configid=222728944812032的规则条件,请求参数如下:

        "functionArgs": [{
            "argName": "header_operation_type",
            "argValue": "add"
        }, {
            "argName": "header_name",
            "argValue": "Accept-Encoding"
        }, {
            "argName": "header_value",
            "argValue": "gzip"
        }, {
            "argName": "duplicate",
            "argValue": "off"
        }],
        "functionName": "origin_request_header",
        "parentId": 222728944812032
}]

对一个已经使用了 parentId 的功能配置删除对 parentId 的引用,配置示例如下: 函数origin_request_header添加回源 HTTP 请求头的时候已经引用了configid=222728944812032的规则条件,现在要删掉对规则条件的引用,请求参数如下:

        "functionArgs": [{
            "argName": "header_operation_type",
            "argValue": "add"
        }, {
            "argName": "header_name",
            "argValue": "Accept-Encoding"
        }, {
            "argName": "header_value",
            "argValue": "gzip"
        }, {
            "argName": "duplicate",
            "argValue": "off"
        }],
        "functionName": "origin_request_header",
        "parentId": -1
}]
[{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

04F0F334-1335-436C-A1D7-6C044FE73368
DomainConfigListarray<object>

域名配置清单。

object
ConfigIdlong

配置 ID。

1234567
DomainNamestring

域名。

www.example.com
FunctionNamestring

功能名称。

set_resp_header

示例

正常返回示例

JSON格式

{
  "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368",
  "DomainConfigList": {
    "DomainConfigModel": [
      {
        "ConfigId": 1234567,
        "DomainName": "www.example.com",
        "FunctionName": "set_resp_header"
      }
    ]
  }
}

错误码

HTTP status code错误码错误信息描述
400InvalidFunctions.MalformedThe specified Functions is incorrectly formatted.配置格式错误。
400InvalidArgValue.MalformedThe specified ArgValue is invalid.参数格式错误,请检查更新后重试。
400Invalid%s.ValueNotSupported[%s] is not supported.-
400Invalid%s.MalformedThe specified ArgValue [%s] is invalid.-
400MissingParameter%sThe specified value of ArgName[%s] is missing.参数不能为空。
400InvalidFunctionArgs.MalformedThe specified FunctionArgs is invalid.指定的功能参数是错误的。
400MissingParameterThe specified ArgValue is missing.-
400InvalidHeaderKey.ValueNotSupportedThe specified value of parameter HeaderKey is not supported.指定的HTTP头参数不合法,超出可选范围。取值:Content-Type,Cache-Control,Content-Disposition,Content-Language,Expires,Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Access-Control-Max-Age,Access-Control-Expose-Headers,Access-Control-Allow-Credentials。
400TooManyDomainsThe count of domain is over 50.-
400InvalidRule.Malformed%s-
400ConfigurationConflictsThe staging environment has a configuration in effect and cannot modify the production environment configuration.现在模拟环境的配置和生产环境配置不一致,无法直接修改生产环境配置。请您前往模拟环境完成您所需的配置,然后发布到生产环境进行覆盖。
400InvalidFunction.NotSupportedThe domain is not supported to set the function.域名不支持设置该功能。
400InvalidDomain.BelongToConfigGroupThis Domain activated in configuration group and should modify by config group.-
400EntityNotExist.RoleEntityNotExist.Role-
400MissingParameterFunctionsThe specified value of Functions is missing.-
400NoPermission.SLRThe current user does not have permission to create servicelinkedrole. Please contact the Alibaba Cloud account or administrator to authorize AliyunCDNFullAccess or custom policy:Service Name:cdn-ddos.cdn.aliyuncs.com,Role: AliyunServiceRoleForCDNAccessingDDoS,Permission: ram: CreateServiceLinkedRole当前用户没有创建服务关联角色的权限,请联系主账号或权限管理员授权AliyunCDNFullAccess或授权创建服务关联角色的自定义权限策略。自定义权限策略的相关信息如下: Service Name:cdn-ddos.cdn.aliyuncs.com 服务关联角色名称:AliyunServiceRoleForCDNAccessingDDoS 执行该操作所需的用户权限:ram:CreateServiceLinkedRole
400ConfigExceedLimitCount of config entries exceeds the limit.配置条数超过限制。
400EdgeScriptCountExceedLimitThe number of rules exceeds the default limit.超过默认规则数量限制,如需提升数量,请提交工单咨询。
400EdgeScripOptionsHasInnerConfigThe extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.扩展项存在后台配置或该配置的参数不合法,如有疑问,请提交工单咨询
400EdgeScriptGrammarNotSupportA background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.存在后台定制规则或该配置的参数不合法,如有疑问,请提交工单咨询
400EdgeScriptNotSupportJsJavaScript rules are not supported. For more information, submit a ticket.未开放JS规则,如有疑问,请提交工单咨询
400ServiceInvokeFailedFailed to invoke service.调用内部服务失败。
400ConfigParentExceedLimitConfig parent exceed limit.已引用的高级条件规则超过阈值。
400Function.InvalidParentIdThe specified parentId does not exist.指定的规则条件不存在
400BatchSetBusinessErrorsome configs error:%s发生配置错误:%s

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

变更历史

变更时间变更内容概要操作
2023-06-13OpenAPI 错误码发生变更查看变更详情
2023-05-25OpenAPI 错误码发生变更查看变更详情
2023-05-23OpenAPI 错误码发生变更查看变更详情
2023-03-15OpenAPI 错误码发生变更查看变更详情