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

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

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String BatchSetCdnDomainConfig

系统规定参数。取值:BatchSetCdnDomainConfig

DomainNames String www.example.com

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

Functions String [{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]

功能列表,格式如下:

  • 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"
}]

返回数据

名称 类型 示例值 描述
RequestId String 04F0F334-1335-436C-A1D7-6C044FE73368

请求ID。

DomainConfigList Array of DomainConfigModel

域名配置清单。

DomainConfigModel
ConfigId Long 1234567

配置ID。

DomainName String www.example.com

域名。

FunctionName String set_resp_header

功能名称。

示例

请求示例

http://cdn.aliyuncs.com/?Action=BatchSetCdnDomainConfig
&DomainName=www.example.com
&Functions=[{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<BatchSetCdnDomainConfigResponse>
<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
<DomainConfigModel>
    <DomainName>www.example.com</DomainName>
    <ConfigId>1234567</ConfigId>
    <FunctionName>set_resp_header</FunctionName>
</DomainConfigModel>
</BatchSetCdnDomainConfigResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

错误码

HttpCode 错误码 错误信息 描述
400 InvalidFunctions.Malformed The specified Functions is incorrectly formatted. 配置格式错误。
400 InvalidArgValue.Malformed The specified ArgValue is invalid. 参数格式错误,请检查更新后重试。
400 MissingParameter%s The specified value of ArgName[%s] is missing. 参数不能为空。
400 InvalidFunctionArgs.Malformed The specified FunctionArgs is invalid. 指定的功能参数是错误的。
400 InvalidHeaderKey.ValueNotSupported The 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。
400 ConfigurationConflicts The staging environment has a configuration in effect and cannot modify the production environment configuration. 现在模拟环境的配置和生产环境配置不一致,无法直接修改生产环境配置。请您前往模拟环境完成您所需的配置,然后发布到生产环境进行覆盖。
400 InvalidFunction.NotSupported The domain is not supported to set the function. 域名不支持设置该功能。
400 NoPermission.SLR The 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

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