All Products
Search
Document Center

ApsaraVideo Live:BatchSetLiveDomainConfigs

Last Updated:Nov 08, 2024

Configures multiple domain names at a time.

Usage notes

Obtain the domain names that you want to configure, and then call this operation to configure the domain names in batches.

QPS limit

You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see QPS limits.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action String Yes BatchSetLiveDomainConfigs

The operation that you want to perform. Set the value to BatchSetLiveDomainConfigs.

DomainNames String Yes demo.aliyundoc.com,example.aliyundoc.com,example.com

The domain names that you want to batch configure. Supported domain names include ingest domains, main streaming domains, and sub-streaming domains. Separate multiple domain names with commas (,).

Functions String Yes [{"functionArgs":[{"argName":"file_type","argValue":"jpg"},{"argName":"ttl","argValue":"18"},{"argName":"weight","argValue":"30"}],"functionName":"filetype_based_ttl_set","configId":506***}]

The list of features.

Some features, such as filetype_based_ttl_set, support multiple configuration records. To update one of the configuration records, use configId to identify the record. For more information, see Format of the Functions parameter and Features specified by the Functions parameter.

Format of the Functions parameter

  • Example: [{"functionArgs":[{"argName":"domain_name","argValue":"developer.aliyundoc.com"}],"functionName":"set_req_host_header"}]
  • Some features, such as filetype_based_ttl_set, support multiple configuration records. To update one of the configuration records, use configId to identify the record. Example: [{"functionArgs":[{"argName":"file_type","argValue":"jpg"},{"argName":"ttl","argValue":"18"},{"argName":"weight","argValue":"30"}],"functionName":"filetype_based_ttl_set","configId":506***}]

Features specified by the Functions parameter

Feature

Attribute

referer_white_list_set: specifies the Referer whitelist.

refer_domain_allow_list: the Referers to be added to the whitelist. Separate multiple Referers with commas (,).

allow_empty: specifies whether an empty Referer is allowed. Valid values: on and off.

referer_black_list_set: specifies the Referer blacklist.

refer_domain_deny_list: the Referers to be added to the blacklist. Separate multiple Referers with commas (,).

allow_empty: specifies whether an empty Referer is allowed. Valid values: on and off.

filetype_based_ttl_set: specifies the time period after which a file expires.

ttl: the cache duration. Unit: seconds. Valid values: 1 to 99999999 (more than three years).

file_type: the file type. Separate multiple file types with commas (,).

weight: the weight of the file type. Valid values: 1 to 99.

path_based_ttl_set: specifies the time period after which a directory expires.

ttl: the cache duration. Unit: seconds. Valid values: 1 to 99999999 (more than three years).

path: the directory, which must start with a forward slash (/).

weight: the weight of the directory. Valid values: 1 to 99.

oss_auth: authenticates access to an Object Storage Service (OSS) bucket.

oss_bucket_id: the path of your OSS bucket.

ip_black_list_set: specifies the IP address blacklist.

ip_list: the IP addresses to be added to the blacklist. Separate multiple IP addresses with commas (,).

ip_allow_list_set: specifies the IP address whitelist.

ip_list: the IP addresses to be added to the whitelist. Separate multiple IP addresses with commas (,).

ip_white_list_set: specifies the IP address whitelist for rate limiting.

ip_list: the IP addresses to be added to the whitelist. Separate multiple IP addresses with commas (,).

error_page: redirects an error page to a specified page.

error_code: the error code.

rewrite_page: the page to which the error page is redirected.

set_req_host_header: modifies the Host header of back-to-origin requests.

domain_name: the Host header of back-to-origin requests.

set_hashkey_args: ignores the specified URL parameters.

hashkey_args: the parameters to be reserved. Separate multiple parameters with commas (,).

disable: specifies whether to ignore all parameters. Valid values: on and off. A value of on specifies that all parameters are ignored. A value of off specifies that none of the parameters are ignored.

aliauth: configures Alibaba Cloud authentication.

auth_type: the authentication type. Valid values: type_a and no_auth. A value of type_a specifies that authentication type A is enabled. A value of no_auth specifies that authentication is disabled.

auth_key1: the primary authentication key. The authentication key can contain letters and digits. We recommend that you set the authentication key to a value that is 8 to 32 characters in length.

auth_key2: the secondary authentication key.

ali_auth_delta: the custom buffer time for authentication. Unit: minutes. We recommend that you set the value to at least 1 minute.

auth_m3u8: specifies whether to enable M3U8 rewrite. If you enable M3U8 rewrite, the system completes authentication for TS segments in an M3U8 playlist to prevent failures in accessing the TS segments. Valid values: on (default) and off.

remote_auth: configures remote authentication for live streaming.

enable: specifies whether to enable remote authentication. This attribute is required. Valid values: on and off.

remote_auth_path: the address of the authentication server. This attribute is required.

remote_auth_pattern: the authentication mode. The following fields are available:

  • param: specifies whether to pass parameters in the ingest URL to the authentication server. Valid values: pass (default) and fail.
  • args_white: the parameter that you want to pass. Separate multiple parameters with commas (,).
  • args_black: the parameter that you do not want to pass. Separate multiple parameters with commas (,).
  • code: the HTTP status code. A value in the form of code=XXX is returned by the authentication server to ApsaraVideo Live upon successful authentication. Example: code=200. A value in the form of code=~XXX is returned by the authentication server to ApsaraVideo Live upon failed authentication. Example: code=~403.
  • delta: the timeout duration for authentication.
  • retry: the number of retries upon authentication timeout.
  • timeout: the action to perform upon authentication timeout. Valid values: pass and fail. pass: ApsaraVideo Live passes the request. fail: ApsaraVideo Live returns the HTTP status code 403 that indicates failure.
  • async: specifies whether to enable asynchronous authentication. Valid values: on and off (default).

set_resp_header: configures a response header. To verify the configuration, you can check the response message in a browser.

key: the name of the response header. 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

value: the content of the response header. If you want to delete the header, enter null.

https_force: configures force redirect to HTTPS.

enable: specifies whether to enable the feature. Valid values: on and off. The https_force and http_force features are mutually exclusive. You cannot configure them both. If you have configured one of the features, you must delete it before you can configure the other feature.

http_force: configures force redirect to HTTP.

enable: specifies whether to enable the feature. Valid values: on and off. The https_force and http_force features are mutually exclusive. You cannot configure them both. If you have configured one of the features, you must delete it before you can configure the other feature.

forward_scheme: configures adaptive back-to-origin.

enable: specifies whether to enable the feature. Valid values: on and off.

scheme_origin: the protocol of the origin. Valid values: http, https, and follow.

scheme_origin_port: the port number of the origin. Valid values: 80, 443, and 80:443.

green_manager: configures pornography detection.

enable: specifies whether to enable pornography detection. Valid values: on and off.

tmd_signature: configures custom rate limiting rules.

name: the name of the rule, which must be globally unique.

path: the uniform resource identifier (URI). You can specify duplicate URIs. However, you must verify their validity.

pathType: the matching rule. Valid values: 0 and 1. A value of 0 specifies a prefix match. A value of 1 specifies an exact match.

interval: the interval at which data is monitored. Unit: seconds. The interval must be greater than or equal to 10 seconds.

count: the number of visits from an IP address.

action: the action to perform after the specified conditions are met. Valid values: 0 and 1. A value of 0 specifies that access is blocked. A value of 1 specifies that bot detection is performed.

ttl: the time period during which access is blocked. Unit: seconds.

l2_oss_key: configures private key authentication for back-to-origin requests from L2 nodes to private OSS buckets.

private_oss_auth: specifies whether to authenticate access to a private OSS bucket. Valid values: on and off.

video_seek: configures video seeking.

enable: specifies whether to enable the feature. Valid values: on and off.

gzip: configures Gzip compression.

enable: specifies whether to enable the feature. Valid values: on and off.

tesla: configures page optimization to accelerate access.

enable: specifies whether to enable the feature. Valid values: on and off.

ali_ua: configures User-Agent-based access control.

ua: the User-Agent.

type: the type of the list. Valid values: black and white.

host_redirect: configures URL rewrite.

regex: the URL to be rewritten. Example: ^/$.

replacement: the destination URL. Example: /go/act/sale/tbzlsy.php.

flag: the flag. Valid values: redirect and break.

ipv6: configures IPv6.

switch: specifies whether to enable IPv6. This attribute is required. Valid values: on and off. If you want to disable this feature after this feature is enabled, deselect the feature in the console. Do not delete the configuration. Otherwise, the feature will still be enabled.

region: the region in which you want to enable IPv6. Valid values: cn-beijing, cn-shanghai, cn-shenzhen, cn-qingdao, apsoutheast-1, eu-central-1, ap-northeast-1, and ap-southeast-5, which indicate China (Beijing), China (Shanghai), China (Shenzhen), China (Qingdao), Singapore, Germany (Frankfurt), Japan (Tokyo), and Indonesia (Jakarta), respectively.

ali_location: configures region-based access control.

location: the regions.

type: the type of the list. Valid values: black and white.

cc_defense: configures protection against HTTP flood attacks.

enable: specifies whether to enable protection against HTTP flood attacks. Valid values: on and off.

alilive: configures the live streaming settings.

notify_url: the URL for receiving notifications from ApsaraVideo Live.

enable: specifies whether to enable the feature. Valid values: on and off.

live_forbid_flv: specifies whether to prohibit the playback of Flash Video (FLV) videos. Valid values: on and off.

live_forbid_rtmp: specifies whether to prohibit the playback of Real-Time Messaging Protocol (RTMP) videos. Valid values: on and off.

live_forbid_hls: specifies whether to prohibit the playback of HTTP Live Streaming (HLS) videos. Valid values: on and off.

ali_grtn: specifies whether to connect to Global Realtime Transport Network (GRTN).

grtn_rts_pub: specifies whether to enable stream ingest over Real-Time Streaming (RTS). This attribute is applicable to ingest domains. Valid values: on and off.

grtn_rts_play: specifies whether to enable streaming over RTS. This attribute is applicable to streaming domains. Valid values: on and off.

grtn_rts_transcode: specifies whether to enable auto transcoding for RTS-based HTML5 playback. Valid values: on and off.

edge_function: configures the edge function.

Required attributes:

rule: the domain-specific language (DSL) rule.

pri: the priority of the rule.

enable: specifies whether to enable the rule. Valid values: on and off.

Optional attributes:

name: the name of the rule.

pos: the position from which to execute the rule.

brk: After the rule is hit, the rules after the specified position are skipped.

option: the option.

grammar: the grammar. Valid values: es2 and js. You can also leave this attribute empty.

jsmode: the mode to manage the domain name whitelist in JavaScript. Valid values: redirect and bypass.

https_tls_version: configures the Transport Layer Security (TLS) protocol versions.

tls10: specifies whether to enable TLS 1.0. Default value: on. Valid values: on and off.

tls11: specifies whether to enable TLS 1.1. Default value: on. Valid values: on and off.

tls12: specifies whether to enable TLS 1.2. Default value: on. Valid values: on and off.

tls13: specifies whether to enable TLS 1.3. Default value: on. Valid values: on and off.

https_option : configures HTTP settings.

http2: specifies whether to enable HTTP/2. Default value: off. Valid values: on and off.

live_http2: specifies whether to enable live_http2. Default value: off. Valid values: on and off.

Response parameters

Parameter

Type

Example

Description

RequestId String 04F0F334-1335-436C-A1D7-6C044FE73368

The request ID.

Examples

Sample requests

http(s)://live.aliyuncs.com/?Action=BatchSetLiveDomainConfigs
&DomainNames=demo.aliyundoc.com,example.aliyundoc.com,example.com
&Functions= [{"functionArgs":[{"argName":"file_type","argValue":"jpg"},{"argName":"ttl","argValue":"18"},{"argName":"weight","argValue":"30"}],"functionName":"filetype_based_ttl_set","configId":506***}]
&<Common request parameters>

Sample success responses

XML format

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

<?xml version="1.0" encoding="UTF-8" ?>
<BatchSetLiveDomainConfigsResponse>
	<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
</BatchSetLiveDomainConfigsResponse>

JSON format

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

{
  "RequestId" : "04F0F334-1335-436C-A1D7-6C044FE73368"
}

Error codes

HTTP status code

Error code

Error message

Description

400 ConfigurationConflicts The staging environment has a configuration in effect and cannot modify the production environment configuration. You cannot modify the configuration in the production environment because a configuration has taken effect in the staging environment.

For a list of error codes, see Service error codes.

Error code

Error message

HTTP status code

Description

InvalidFunctions.Malformed

Specified Functions is malformed.

400

The specified Functions parameter is invalid.

InvalidFunctionName.ValueNotSupported

unctionName %s is not supported.

400

The %s feature name is invalid.

InvalidArgName.ValueNotSupported

ArgName %s is not supported.

400

The %s attribute name is invalid.

InvalidArgValue.Malformed

Specified ArgValue is malformed.

400

One or more specified attribute values are invalid.