調用BatchSetDcdnDomainConfigs為域名配置功能時會生成ConfigId(功能配置ID,具有唯一性),通過指定ConfigId可更新或刪除域名配置項。本文為您介紹ConfigId的生成、查詢和使用方法。
ConfigId使用說明
功能 | 接口調用說明 |
生成ConfigId | 調用BatchSetDcdnDomainConfigs,配置完成后生成ConfigId。 |
查詢ConfigId | 調用DescribeDcdnDomainConfigs,查詢結果返回對應配置的ConfigId。 |
通過ConfigId更新配置項 | 調用BatchSetDcdnDomainConfigs,通過指定ConfigId更新配置項。 |
通過ConfigId刪除配置項 | 調用DeleteDcdnSpecificConfig,通過指定ConfigId刪除配置項。 |
生成ConfigId
配置單條規則:調用BatchSetDcdnDomainConfigs給某個域名創建某個功能配置時生成ConfigId,該API調用成功后返回該配置項的ConfigId。
配置場景:假設加速域名為
example.com
,全站加速節點在響應資源給客戶端時,需通過配置告知客戶端該資源無需緩存。示例:為域名
example.com
的功能set_resp_header配置規則:key=Cache-Control,value=no-cache。接口配置:action: BatchSetDcdnDomainConfigs params: { "Functions": [{ "functionArgs": [{ "argName": "value", "argValue": "no-cache" }, { "argName": "key", "argValue": "Cache-Control" } ], "functionName": "set_resp_header" }], "domainNames": "example.com" } product: dcdn
配置成功返回結果:返回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 }
配置多條規則:有的功能支持配置多條規則,如果要一次配置多條規則,可以參考如下示例。
示例:為域名
example.aliyundoc.com
的功能set_resp_header(配置響應頭)同時配置以下兩條規則:第一個規則:全站加速節點在響應資源給客戶端的時候,告知客戶端該資源無需緩存。
參數配置如下:key=Cache-Control,value=no-cache
第二個規則:全站加速節點在響應資源給客戶端的時候,告知客戶端該資源的內容類型是文本類型。
參數配置如下:key=Content-Type,value=text/plain
接口配置:
action: BatchSetDcdnDomainConfigs 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: dcdn
配置成功,返回結果,兩條不同的規則分別返回了不同的ConfigId。
{ "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 }
查詢ConfigId
調用DescribeDcdnDomainConfigs,查詢結果返回對應配置的ConfigId。
示例:查詢域名example.aliyundoc.com
的功能set_resp_header的配置。接口調用:
action: DescribeDcdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: dcdn
返回結果:顯示ConfigId。
{
"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
}
通過ConfigId更新配置項
調用BatchSetDcdnDomainConfigs更新已有的配置,更新配置的時候指定該配置項對應的ConfigId即可。
配置場景:假設加速域名為example.com
,全站加速節點響應給客戶端的資源由不緩存改為緩存1小時。
示例:為域名example.com
的功能set_resp_header更新規則配置為:key=Cache-Control,value=max-age=3600。接口調用:
action: BatchSetDcdnDomainConfigs
params: {
"Functions": [
{
"functionArgs": [
{
"argName": "value",
"argValue": "max-age=3600"
},
{
"argName": "key",
"argValue": "Cache-Control"
}
],
"functionName": "set_resp_header",
"ConfigId": 19571990834****
}
],
"domainNames": "example.com"
}
product: dcdn
通過ConfigId刪除配置項
調用DeleteDcdnSpecificConfig刪除某個配置,刪除配置的時候指定該配置項對應的ConfigId即可。
示例:為域名example.aliyundoc.com
刪除功能set_resp_header上指定的規則配置。接口調用:
action: DeleteDcdnSpecificConfig
params: {
"ConfigId": 19571990834****,
"functionName": "set_resp_header",
"domainName": "example.aliyundoc.com"
}
product: dcdn