Chaque fois que vous configurez une fonctionnalité pour un nom de domaine à l'aide de BatchSetCdnDomainConfig ou de SetCdnDomainStagingConfig, Alibaba Cloud CDN génère un identifiant de configuration unique (ConfigId) pour cette règle. Utilisez le ConfigId pour mettre à jour ou supprimer une règle spécifique sans affecter les autres règles du même type.
Le flux de travail classique est le suivant : générez un ConfigId lors de la configuration d'une règle, récupérez-le si nécessaire, puis utilisez-le pour mettre à jour ou supprimer cette règle.
Référence rapide des API
| Opération | API |
|---|---|
| Générer un identifiant de configuration | BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig |
| Interroger les identifiants de configuration | DescribeCdnDomainConfigs ou DescribeCdnDomainStagingConfig |
| Mettre à jour les paramètres à l'aide d'un ConfigId | BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig |
| Supprimer les paramètres à l'aide d'un ConfigId | DeleteSpecificConfig ou DeleteSpecificStagingConfig |
Générer un identifiant de configuration
Appelez BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig pour configurer une fonctionnalité pour un nom de domaine. Un ConfigId est généré pour chaque règle en cas de succès.
BatchSetCdnDomainConfig : renvoie le ConfigId directement dans la réponse.
SetCdnDomainStagingConfig : ne renvoie pas de ConfigId dans la réponse. Appelez séparément DescribeCdnDomainStagingConfig pour le récupérer.
Si une fonctionnalité prend en charge plusieurs règles, l'ajout de plusieurs règles en un seul appel renvoie un ConfigId par règle.
Exemple : Ajouter une seule règle d'en-tête de réponse
Définissez Cache-Control: no-cache sur example.com pour indiquer aux points de présence (POP) de ne pas mettre en cache le contenu renvoyé aux clients.
action: BatchSetCdnDomainConfig
params: {
"Functions": [{
"functionArgs": [
{
"argName": "value",
"argValue": "no-cache"
},
{
"argName": "key",
"argValue": "Cache-Control"
}
],
"functionName": "set_resp_header"
}],
"domainNames": "example.com"
}
product: cdn
En cas de succès, un ConfigId est renvoyé :
{
"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
}
Exemple : Ajouter plusieurs règles d'en-tête de réponse à la fois
Ajoutez deux règles set_resp_header pour example.aliyundoc.com : l'une définit Cache-Control: no-cache et l'autre définit 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
En cas de succès, deux ConfigIds sont renvoyés, soit un pour chaque règle :
{
"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
}
Interroger les identifiants de configuration
Appelez DescribeCdnDomainConfigs ou DescribeCdnDomainStagingConfig pour récupérer les ConfigIds des règles existantes.
Exemple : Interroger les ConfigIds pour un domaine
Interrogez les paramètres set_resp_header pour example.aliyundoc.com :
action: DescribeCdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: cdn
La réponse inclut le ConfigId pour chaque règle correspondante :
{
"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
}
Mettre à jour les paramètres à l'aide d'un identifiant de configuration
Appelez BatchSetCdnDomainConfig ou SetCdnDomainStagingConfig avec un ConfigId pour mettre à jour une règle spécifique. Incluez le ConfigId dans l'objet de fonction pour cibler cette règle.
Exemple : Mettre à jour Cache-Control vers max-age=3600
Modifiez l'en-tête Cache-Control sur example.com de no-cache à max-age=3600 pour indiquer aux POP de mettre en cache les réponses pendant une heure :
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
Supprimer les paramètres à l'aide d'un identifiant de configuration
Appelez DeleteSpecificConfig ou DeleteSpecificStagingConfig avec un ConfigId pour supprimer une règle spécifique.
Exemple : Supprimer une règle d'en-tête de réponse
Supprimez la règle associée au ConfigId 19571990834**** sur example.aliyundoc.com :
action: DeleteSpecificConfig
params: {
"ConfigId": 19571990834****,
"domainName": "example.aliyundoc.com"
}
product: cdn