All Products
Search
Document Center

CDN:BatchSetCdnDomainConfig

Last Updated:Aug 06, 2024

Configures multiple accelerated domain names at a time.

Operation description

  • You can call this operation up to 30 times per second per account.
  • You can specify multiple domain names and must separate them with commas (,). You can specify up to 50 domain names in each call.
  • If the BatchSetCdnDomainConfig operation is successful, a unique configuration ID (ConfigId) is generated. You can use configuration IDs to update or delete configurations. For more information, see Usage notes on ConfigId.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
cdn:BatchSetCdnDomainConfigupdate
  • Domain
    acs:cdn:*:{#accountId}:domain/{#DomainNames}
    none
  • ram:CreateServiceLinkedRole

Request parameters

ParameterTypeRequiredDescriptionExample
DomainNamesstringYes

The accelerated domain names. You can specify multiple accelerated domain names and separate them with commas (,).

www.example.com
FunctionsstringYes

The features that you want to configure. Format:

  • functionName: the name of the feature. This parameter is required. Separate multiple values with commas (,). For more information, see Parameters for configuring features for domain names.
  • argName: the feature parameter for functionName. This parameter is required. You can specify multiple feature parameters.
  • argValue: the parameter value that is specified for functionName. This parameter is required.
  • parentid: the rule condition ID. This parameter is optional. You can use the condition rule engine to create a rule condition. For information, see Parameters for configuring features for domain names. A rule condition can identify parameters that are included in requests and filter requests based on the identified parameters. After you create a rule condition, a configid is generated. A configid can be used as parentId that is referenced by other features. This way, you can combine rule conditions and features for flexible configurations.

If the ParentId parameter is **-1**, the existing rule conditions in the configurations are deleted.

   "functionArgs": [{
     "argName": "Parameter A", 
     "argValue": "Value of parameter A"
    }, 
  {
    "argName": "Parameter B", 
    "argValue": "Value of parameter B"
     }], 
 "functionName": "Feature name"
 "parentId": Optional. parentId corresponds to configid of the referenced rule condition
}]

The following code provides a sample configuration if parentId is not used. In this example, the origin_request_header feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is configid=222728944812032 is referenced.

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

The following code shows a sample configuration if parentId is used. In this example, the origin_request_header feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is 222728944812032 is referenced.

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

The following code provides a sample configuration that deletes the reference to parentId for a feature that uses parentId. This example shows how to delete the rule condition that has a configuration ID of 222728944812032 and is referenced when origin_request_header feature is used to add back-to-origin HTTP headers.

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

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The ID of the request.

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

The list of domain configurations.

object
ConfigIdlong

The ID of the configuration.

1234567
DomainNamestring

The domain name.

www.example.com
FunctionNamestring

The name of the feature.

set_resp_header

Examples

Sample success responses

JSONformat

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

Error codes

HTTP status codeError codeError messageDescription
400InvalidFunctions.MalformedThe specified Functions is incorrectly formatted.-
400InvalidArgValue.MalformedThe specified ArgValue is invalid.Specified ArgValue is malformed.
400Invalid%s.ValueNotSupported[%s] is not supported.-
400Invalid%s.MalformedThe specified ArgValue [%s] is invalid.-
400MissingParameter%sThe specified value of ArgName[%s] is missing.You must specify this parameter.
400InvalidFunctionArgs.MalformedThe specified FunctionArgs is invalid.The specified feature parameter is invalid.
400MissingParameterThe specified ArgValue is missing.-
400InvalidHeaderKey.ValueNotSupportedThe specified value of parameter HeaderKey is not supported.The specified HTTP header is invalid. Valid values: 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, and 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.Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the stating environment. Set parameters in the staging environment before you publish them to the production environment.
400InvalidFunction.NotSupportedThe domain is not supported to set the function.This feature is not supported for domain names.
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: CreateServiceLinkedRoleYou are not authorized to create service-linked roles. Obtain the AliyunCDNFullAccess permission or custom permission policies used to create service-linked roles from your Alibaba Cloud account or the administrator. Obtain custom permissions based on the following information: Service Name: cdn-ddos.cdn.aliyuncs.com, Service-linked Role Name: AliyunServiceRoleForCDNAccessingDDoS, Required Permission: ram:CreateServiceLinkedRole.
400ConfigExceedLimitCount of config entries exceeds the limit.The upper limit is reached.
400EdgeScriptCountExceedLimitThe number of rules exceeds the default limit (1). To increase the limit, submit a ticket.-
400EdgeScripOptionsHasInnerConfigThe extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.The extension has a background configuration or a configured parameter 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.A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.
400EdgeScriptNotSupportJsJavaScript rules are not supported. For more information, submit a ticket.JavaScript rules are not supported. For more information, submit a ticket.
400ServiceInvokeFailedFailed to invoke service.An internal server error occurred.
400ConfigParentExceedLimitConfig parent exceed limit.The referenced advanced conditional rule exceeds the threshold.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-06-13The Error code has changedView Change Details
2023-05-25The Error code has changedView Change Details
2023-05-23The Error code has changedView Change Details
2023-03-15The Error code has changedView Change Details