Cada vez que configura una función para un nombre de dominio mediante BatchSetCdnDomainConfig o SetCdnDomainStagingConfig, Alibaba Cloud CDN genera un identificador de configuración único (ConfigId) para esa regla. Use el ConfigId para actualizar o eliminar una regla específica sin afectar otras reglas del mismo tipo.
El flujo de trabajo típico es el siguiente: genere un ConfigId al configurar una regla, consúltelo si es necesario y luego úselo para actualizar o eliminar dicha regla.
Referencia rápida de API
|
Operación |
API |
|
Generar un identificador de configuración |
|
|
Consultar identificadores de configuración |
|
|
Actualizar ajustes mediante un ConfigId |
|
|
Eliminar ajustes mediante un ConfigId |
Generar un identificador de configuración
Llame a BatchSetCdnDomainConfig o SetCdnDomainStagingConfig para configurar una función en un nombre de dominio. Se genera un ConfigId para cada regla cuando la operación se completa correctamente.
BatchSetCdnDomainConfig: devuelve el ConfigId directamente en la respuesta.
SetCdnDomainStagingConfig: no devuelve un ConfigId en la respuesta. Llame a DescribeCdnDomainStagingConfig por separado para obtenerlo.
Si una función admite varias reglas, agregar varios reglas en una sola llamada devuelve un ConfigId por cada una.
Ejemplo: Agregar una sola regla de encabezado de respuesta
Establezca Cache-Control: no-cache en example.com para indicar a los puntos de presencia (POP) que no almacenen en caché el contenido devuelto a los clientes.
action: BatchSetCdnDomainConfig
params: {
"Functions": [{
"functionArgs": [
{
"argName": "value",
"argValue": "no-cache"
},
{
"argName": "key",
"argValue": "Cache-Control"
}
],
"functionName": "set_resp_header"
}],
"domainNames": "example.com"
}
product: cdn
Si la operación se completa correctamente, se devuelve un ConfigId:
{
"code": "200",
"data": {
"DomainConfigList": {
"DomainConfigModel": [
{
"FunctionName": "set_resp_header",
"DomainName": "example.com",
"ConfigId": 19571990834****
}
]
},
"RequestId": "4FF61A1D-E697-5E6C-9E5D-7D1E1529****"
},
"httpStatusCode": "200",
"requestId": "4FF61A1D-E697-5E6C-9E5D-7D1E1529****",
"successResponse": true
}
Ejemplo: Agregar varias reglas de encabezado de respuesta a la vez
Agregue dos reglas set_resp_header para example.aliyundoc.com: una establece Cache-Control: no-cache y la otra establece Content-Type: text/plain.
action: BatchSetCdnDomainConfig
params: {
"domainNames": "example.aliyundoc.com",
"functions": [
{
"functionArgs": [
{
"ArgValue": "Cache-Control",
"ArgName": "key"
},
{
"ArgValue": "no-cache",
"ArgName": "value"
}
],
"functionName": "set_resp_header"
},
{
"functionArgs": [
{
"ArgValue": "Content-Type",
"ArgName": "key"
},
{
"ArgValue": "text/plain",
"ArgName": "value"
}
],
"functionName": "set_resp_header"
}
]
}
product: cdn
Si la operación se completa correctamente, se devuelven dos ConfigId, uno por cada regla:
{
"code": "200",
"data": {
"DomainConfigList": {
"DomainConfigModel": [
{
"FunctionName": "set_resp_header",
"DomainName": "example.aliyundoc.com",
"ConfigId": 20953663204****
},
{
"FunctionName": "set_resp_header",
"DomainName": "example.aliyundoc.com",
"ConfigId": 20953663204****
}
]
},
"RequestId": "69A79ACE-FD8E-5993-9CEA-7AAB2F08****"
},
"httpStatusCode": "200",
"requestId": "69A79ACE-FD8E-5993-9CEA-7AAB2F08****",
"successResponse": true
}
Consultar identificadores de configuración
Llame a DescribeCdnDomainConfigs o DescribeCdnDomainStagingConfig para obtener los ConfigId de las reglas existentes.
Ejemplo: Consultar ConfigId de un dominio
Consulte la configuración de set_resp_header para example.aliyundoc.com:
action: DescribeCdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: cdn
La respuesta incluye el ConfigId de cada regla coincidente:
{
"code": "200",
"data": {
"RequestId": "51B7DF03-A7AE-56ED-BF1E-D16F6A6B****",
"DomainConfigs": {
"DomainConfig": [{
"Status": "configuring",
"FunctionName": "set_resp_header",
"FunctionArgs": {
"FunctionArg": [
{
"ArgValue": "no-cache",
"ArgName": "value"
},
{
"ArgValue": "Cache-Control",
"ArgName": "key"
}
]
},
"ConfigId": 19572306654****
}]
}
},
"httpStatusCode": "200",
"requestId": "51B7DF03-A7AE-56ED-BF1E-D16F6A6B****",
"successResponse": true
}
Actualizar ajustes mediante un identificador de configuración
Llame a BatchSetCdnDomainConfig o SetCdnDomainStagingConfig con un ConfigId para actualizar una regla específica. Incluya el ConfigId en el objeto de función para aplicar cambios a dicha regla.
Ejemplo: Actualizar Cache-Control a max-age=3600
Cambie el encabezado Cache-Control en example.com de no-cache a max-age=3600 para indicar a los POP que almacenen las respuestas en caché durante una hora:
action: BatchSetCdnDomainConfig
params: {
"Functions": [
{
"functionArgs": [
{
"argName": "value",
"argValue": "max-age=3600"
},
{
"argName": "key",
"argValue": "Cache-Control"
}
],
"functionName": "set_resp_header",
"ConfigId": 19571990834****
}
],
"domainNames": "example.com"
}
product: cdn
Eliminar ajustes mediante un identificador de configuración
Llame a DeleteSpecificConfig o DeleteSpecificStagingConfig con un ConfigId para eliminar una regla específica.
Ejemplo: Eliminar una regla de encabezado de respuesta
Elimine la regla con ConfigId 19571990834**** en example.aliyundoc.com:
action: DeleteSpecificConfig
params: {
"ConfigId": 19571990834****,
"domainName": "example.aliyundoc.com"
}
product: cdn