ConfigId使用说明

调用BatchSetCdnDomainConfig、SetCdnDomainStagingConfig为域名配置功能时会生成ConfigId(功能配置ID,具有唯一性),通过指定ConfigId可更新或删除域名配置项。本文为您介绍ConfigId的生成、查询和使用方法。

ConfigId使用说明

功能

接口调用说明

生成ConfigId

调用BatchSetCdnDomainConfigSetCdnDomainStagingConfig,配置完成后生成ConfigId。

查询ConfigId

调用DescribeCdnDomainConfigsDescribeCdnDomainStagingConfig,查询结果返回对应配置的ConfigId。

通过ConfigId更新配置项

调用BatchSetCdnDomainConfigSetCdnDomainStagingConfig,通过指定ConfigId更新配置项。

通过ConfigId删除配置项

调用DeleteSpecificConfigDeleteSpecificStagingConfig,通过指定ConfigId删除配置项。

生成ConfigId

  • 配置单条规则:

    配置场景:假设加速域名为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

调用DescribeCdnDomainConfigsDescribeCdnDomainStagingConfig,查询结果返回对应配置的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更新配置项

调用BatchSetCdnDomainConfigSetCdnDomainStagingConfig更新已有的配置,更新配置的时候指定该配置项对应的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删除配置项

调用DeleteSpecificConfigDeleteSpecificStagingConfig删除某个配置,删除配置的时候指定该配置项对应的ConfigId即可。

示例:为域名example.aliyundoc.com删除功能set_resp_header上指定的规则配置。接口调用:

action: DeleteSpecificConfig
params: {
    "ConfigId": 19571990834****, 
    "functionName": "set_resp_header", 
    "domainName": "example.aliyundoc.com"
}
product: cdn