Sempre que você configura um recurso para um nome de domínio usando BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig, o Alibaba Cloud CDN gera um ID de configuração exclusivo (ConfigId) para essa regra. Use o ConfigId para atualizar ou excluir uma regra específica sem afetar outras regras do mesmo tipo.
O fluxo de trabalho típico consiste em: gerar um ConfigId ao configurar uma regra, consultá-lo se necessário e usá-lo para atualizar ou excluir a regra correspondente.
Referência rápida de API
|
Operação |
API |
|
Gerar um ID de configuração |
|
|
Consultar IDs de configuração |
|
|
Atualize configurações com um ConfigId |
|
|
Exclua configurações com um ConfigId |
Gerar um ID de configuração
Chame BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig para configurar um recurso em um nome de domínio. O sistema gera um ConfigId para cada regra após a execução bem-sucedida.
BatchSetCdnDomainConfig: retorna o ConfigId diretamente na resposta.
SetCdnDomainStagingConfig: não retorna um ConfigId na resposta. Chame DescribeCdnDomainStagingConfig separadamente para obtê-lo.
Se um recurso suportar várias regras, adicionar múltiplas regras em uma única chamada retornará um ConfigId distinto para cada uma.
Exemplo: Adicionar uma única regra de cabeçalho de resposta
Defina Cache-Control: no-cache em example.com para instruir os pontos de presença (POPs) a não armazenarem em cache o conteúdo retornado aos 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
Em caso de sucesso, a API retorna um 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
}
Exemplo: Adicionar várias regras de cabeçalho de resposta simultaneamente
Adicione duas regras set_resp_header para example.aliyundoc.com: uma define Cache-Control: no-cache e a outra define 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
Após a execução bem-sucedida, a API retorna dois ConfigIds — um para cada regra:
{
"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 IDs de configuração
Use DescribeCdnDomainConfigs ou DescribeCdnDomainStagingConfig para recuperar os ConfigIds das regras existentes.
Exemplo: Consultar ConfigIds de um domínio
Consulte as configurações de set_resp_header para example.aliyundoc.com:
action: DescribeCdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: cdn
A resposta inclui o ConfigId de cada regra correspondente:
{
"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
}
Atualize configurações com um ID de configuração
Chame BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig com um ConfigId para atualizar uma regra específica. Inclua o ConfigId no objeto da função para direcionar a operação à regra desejada.
Exemplo: Atualize Cache-Control para max-age=3600
Altere o cabeçalho Cache-Control em example.com de no-cache para max-age=3600 para instruir os POPs a armazenarem as respostas em cache por uma 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
Exclua configurações com um ID de configuração
Chame DeleteSpecificConfig ou DeleteSpecificStagingConfig com um ConfigId para excluir uma regra específica.
Exemplo: Exclua uma regra de cabeçalho de resposta
Exclua a regra set_req_header com ConfigId 19571990834**** em example.aliyundoc.com:
action: DeleteSpecificConfig
params: {
"ConfigId": 19571990834****,
"functionName": "set_resp_header",
"domainName": "example.aliyundoc.com"
}
product: cdn