調用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig為網域名稱配置功能時會產生ConfigId(功能配置ID,具有唯一性),通過指定ConfigId可更新或刪除網域名稱配置項。本文為您介紹ConfigId的產生、查詢和使用方法。
ConfigId使用說明
功能 | 介面調用說明 |
產生ConfigId | 調用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig,配置完成後產生ConfigId。 |
查詢ConfigId | 調用DescribeCdnDomainConfigs、DescribeCdnDomainStagingConfig,查詢結果返回對應配置的ConfigId。 |
通過ConfigId更新配置項 | 調用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig,通過指定ConfigId更新配置項。 |
通過ConfigId刪除配置項 | 調用DeleteSpecificConfig、DeleteSpecificStagingConfig,通過指定ConfigId刪除配置項。 |
產生ConfigId
配置單條規則:
調用BatchSetCdnDomainConfig給某個網域名稱建立某個功能配置時產生ConfigId,該API調用成功後返回該配置項的ConfigId。
調用SetCdnDomainStagingConfig給某個網域名稱建立某個功能配置時產生ConfigId,該API調用成功後不返回ConfigId,需要通過DescribeCdnDomainStagingConfig介面查詢。
配置情境:假設加速網域名稱為
example.com
,CDN節點在響應資源給用戶端的時候,告知用戶端該資源無需緩衝。樣本:為網域名稱
example.com
的功能set_resp_header配置規則:key=Cache-Control,value=no-cache。介面配置:action: BatchSetCdnDomainConfig params: { "Functions": [{ "functionArgs": [{ "argName": "value", "argValue": "no-cache" }, { "argName": "key", "argValue": "Cache-Control" } ], "functionName": "set_resp_header" }], "domainNames": "example.com" } product: cdn
配置成功返回結果:返回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(配置回應標頭)同時配置以下兩條規則:第一個規則:CDN節點在響應資源給用戶端的時候,告知用戶端該資源無需緩衝。
參數配置如下:key=Cache-Control,value=no-cache
第二個規則:CDN節點在響應資源給用戶端的時候,告知用戶端該資源的內容類型是文本類型。
參數配置如下:key=Content-Type,value=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
配置成功,返回結果,兩條不同的規則分別返回了不同的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
調用DescribeCdnDomainConfigs、DescribeCdnDomainStagingConfig,查詢結果返回對應配置的ConfigId。
樣本:查詢網域名稱example.aliyundoc.com
的功能set_resp_header的配置。介面調用:
action: DescribeCdnDomainConfigs
params: {
"domainName": "example.aliyundoc.com",
"functionNames": "set_resp_header"
}
product: cdn
返回結果:顯示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更新配置項
調用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig更新已有的配置,更新配置的時候指定該配置項對應的ConfigId即可。
配置情境:假設加速網域名稱為example.com
,CDN節點響應給用戶端的資源由不緩衝改為緩衝1小時。
樣本:為網域名稱example.com
的功能set_resp_header更新規則配置為:key=Cache-Control,value=max-age=3600。介面調用:
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
通過ConfigId刪除配置項
調用DeleteSpecificConfig、DeleteSpecificStagingConfig刪除某個配置,刪除配置的時候指定該配置項對應的ConfigId即可。
樣本:為網域名稱example.aliyundoc.com
刪除功能set_resp_header上指定的規則配置。介面調用:
action: DeleteSpecificConfig
params: {
"ConfigId": 19571990834****,
"functionName": "set_resp_header",
"domainName": "example.aliyundoc.com"
}
product: cdn