Setiap kali Anda mengonfigurasi suatu fitur untuk Nama domain menggunakan BatchSetCdnDomainConfig atau SetCdnDomainStagingConfig, Alibaba Cloud CDN menghasilkan ID konfigurasi unik (ConfigId) untuk aturan tersebut. Gunakan ConfigId ini untuk memperbarui atau menghapus aturan tertentu tanpa memengaruhi aturan lain yang sejenis.
Alur kerja umumnya adalah: hasilkan ConfigId saat mengonfigurasi aturan, kueri jika diperlukan, lalu gunakan untuk memperbarui atau menghapus aturan tersebut.
Referensi cepat API
| Operasi | API |
|---|---|
| Hasilkan ID konfigurasi | BatchSetCdnDomainConfig atau SetCdnDomainStagingConfig |
| Kueri ID konfigurasi | DescribeCdnDomainConfigs atau DescribeCdnDomainStagingConfig |
| Perbarui pengaturan menggunakan ConfigId | BatchSetCdnDomainConfig atau SetCdnDomainStagingConfig |
| Hapus pengaturan menggunakan ConfigId | DeleteSpecificConfig atau DeleteSpecificStagingConfig |
Hasilkan ID konfigurasi
Panggil BatchSetCdnDomainConfig atau SetCdnDomainStagingConfig untuk mengonfigurasi fitur pada Nama domain. ConfigId dihasilkan untuk setiap aturan jika permintaan berhasil.
BatchSetCdnDomainConfig: mengembalikan ConfigId secara langsung dalam respons.
SetCdnDomainStagingConfig: tidak mengembalikan ConfigId dalam respons. Panggil DescribeCdnDomainStagingConfig secara terpisah untuk mengambilnya.
Jika suatu fitur mendukung beberapa aturan, penambahan beberapa aturan dalam satu panggilan akan mengembalikan satu ConfigId untuk setiap aturan.
Contoh: Tambahkan satu aturan header respons
Tetapkan Cache-Control: no-cache pada example.com untuk menginstruksikan titik keberadaan (POPs) agar tidak menyimpan cache konten yang dikembalikan ke Klien.
action: BatchSetCdnDomainConfig
params: {
"Functions": [{
"functionArgs": [
{
"argName": "value",
"argValue": "no-cache"
},
{
"argName": "key",
"argValue": "Cache-Control"
}
],
"functionName": "set_resp_header"
}],
"domainNames": "example.com"
}
product: cdnJika berhasil, satu ConfigId dikembalikan:
{
"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
}Contoh: Tambahkan multiple aturan header respons sekaligus
Tambahkan dua aturan set_resp_header untuk example.aliyundoc.com: satu menetapkan Cache-Control: no-cache, dan yang lain menetapkan 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: cdnJika berhasil, dua ConfigId dikembalikan — satu untuk setiap aturan:
{
"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
}Kueri ID konfigurasi
Panggil DescribeCdnDomainConfigs atau DescribeCdnDomainStagingConfig untuk mengambil ConfigId dari aturan yang sudah ada.
Contoh: Kueri ConfigId untuk suatu domain
Kueri pengaturan set_resp_header untuk example.aliyundoc.com:
action: DescribeCdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: cdnRespons mencakup ConfigId untuk setiap aturan yang cocok:
{
"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
}Perbarui pengaturan menggunakan ID konfigurasi
Panggil BatchSetCdnDomainConfig atau SetCdnDomainStagingConfig dengan ConfigId untuk memperbarui aturan tertentu. Sertakan ConfigId dalam objek fungsi untuk menargetkan aturan tersebut.
Contoh: Perbarui Cache-Control menjadi max-age=3600
Ubah header Cache-Control pada example.com dari no-cache menjadi max-age=3600 untuk menginstruksikan POPs agar menyimpan cache respons selama satu jam:
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: cdnHapus pengaturan menggunakan ID konfigurasi
Panggil DeleteSpecificConfig atau DeleteSpecificStagingConfig dengan ConfigId untuk menghapus aturan tertentu.
Contoh: Hapus aturan header respons
Hapus aturan set_req_header dengan ConfigId 19571990834**** pada example.aliyundoc.com:
action: DeleteSpecificConfig
params: {
"ConfigId": 19571990834****,
"functionName": "set_resp_header",
"domainName": "example.aliyundoc.com"
}
product: cdn