全部产品
Search
文档中心

边缘安全加速:SetDcdnDomainStagingConfig - 设置或修改域名配置(灰度)

更新时间:Oct 17, 2024

调用SetDcdnDomainStagingConfig设置或修改域名配置(灰度)。

接口说明

说明 单用户调用频率:30 次/秒。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
DomainNamestring

加速域名,多个域名用英文逗号(,)分隔。

example.com
Functionsstring

功能列表,格式如下:

  • functionName(功能名称,必填):可配置功能请参见功能列表,多个参数之间用半角逗号(,)分隔。

  • argName(参数名称,必填):functionName 的配置项(可配置多个配置项)。

  • argValue(参数值,必填):functionName 的配置项的取值。

  • parentid(规则条件 ID,非必填):通过配置域名配置功能参数中的功能函数 condition(规则引擎),可以创建出规则条件(规则条件可以通过识别用户请求中携带的各种参数来匹配和过滤用户请求),每一个规则条件被创建以后都会生成一个对应的 configid ,configid 可以被当作 ParentId 参数被其他功能函数引用,这样规则条件就可以与功能配置一起组合形成更灵活的配置。

parentId 为 -1:表示删除该配置里面已有的规则条件。

"functionArgs": [{
   "argName": "功能参数 A", 
   "argValue": "功能参数 A 对应的值"
  }, 
{
  "argName": "功能参数 B", 
  "argValue": "功能参数 B 对应的值"
   }], 

"functionName": "功能名称", "parentId": 选填项,对应引用规则条件的 configid }]

不使用 parentId 的情况下,配置示例如下: 使用函数 origin_request_header 添加回源 HTTP 请求头的时候引用了 configid=222728944812032 的规则条件,请求参数如下:

"functionArgs": [{
           "argName": "header_operation_type",
           "argValue": "add"
       }, {
           "argName": "header_name",
           "argValue": "Accept-Encoding"
       }, {
           "argName": "header_value",
           "argValue": "gzip"
       }, {
           "argName": "duplicate",
           "argValue": "off"
       }],
       "functionName": "origin_request_header"
}]

使用 parentId 的情况下,配置示例如下: 使用函数 origin_request_header 添加回源 HTTP 请求头的时候引用了 configid=222728944812032 的规则条件,请求参数如下:

        "functionArgs": [{
            "argName": "header_operation_type",
            "argValue": "add"
        }, {
            "argName": "header_name",
            "argValue": "Accept-Encoding"
        }, {
            "argName": "header_value",
            "argValue": "gzip"
        }, {
            "argName": "duplicate",
            "argValue": "off"
        }],
        "functionName": "origin_request_header",
        "parentId": 222728944812032
}]

对一个已经使用了 parentId 的功能配置删除对 parentId 的引用,配置示例如下: 函数 origin_request_header 添加回源 HTTP 请求头的时候已经引用了 configid=222728944812032 的规则条件,现在要删掉对规则条件的引用,请求参数如下:

        "functionArgs": [{
            "argName": "header_operation_type",
            "argValue": "add"
        }, {
            "argName": "header_name",
            "argValue": "Accept-Encoding"
        }, {
            "argName": "header_value",
            "argValue": "gzip"
        }, {
            "argName": "duplicate",
            "argValue": "off"
        }],
        "functionName": "origin_request_header",
        "parentId": -1
}]
[{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]

某些功能可以设置多条记录,例如:edge_function,当需要更新其中某条记录时,可通过该条记录的 ConfigId(Long 类型)来指定要修改的配置项。格式如下:

[{"functionArgs":[{"argName":"enable","argValue":"on"},{"argName":"pri","argValue":"1"},{"argName":"rule","argValue":"yyy"}],"ConfigId":123456,"functionName":"edge_function"}]

功能说明 所有参数值均按照字符串类型处理。

功能名称参数
edge_function:边缘函数必填参数:
rule:DSL 规则。
pri:优先级。
enable:本条规则是否生效,取值:on 或 off。
可选参数:
name:规则名称。
pos:规则执行位置。DCDN 域名仅支持 head,不支持 foot。
brk:命中本条规则后,当前执行位置剩余规则均跳过。
option:option 管控。
grammar:grammar 管控。可选值:空、es2、js。
jsmode:js 域名白单管控。可选值:redirect、bypass。

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

04F0F334-1335-436C-A1D7-6C044FE73368

示例

正常返回示例

JSON格式

{
  "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368"
}

错误码

HTTP status code错误码错误信息描述
400InvalidFunctionName.ValueNotSupported%s%s
400InvalidArgName.ValueNotSupported%s不支持的参数名称 %s(%s为具体参数名)
400InvalidArgValue.Malformed%s%s
400InvalidRule.Malformed%s%s
400ConfigurationConflictsThe staging environment has a configuration in effect. You cannot modify the production environment configuration.模拟环境有一个配置,不能修改生产环境的配置。
400GrayConfigExistA canary configuration already exists under the domain.域名已经存在其他灰度配置。
400InvalidDomain.BelongToConfigGroupThe domain is bound to a configuration group. Modify the domain in the configuration group.这个域名绑定了一个配置组,需要通过修改配置组的配置来修改。
400EdgeScriptCountExceedLimitThe number of rules exceeds the default limit.超过默认规则数量限制,如需提升数量,请提交工单咨询
400EdgeScripOptionsHasInnerConfigThe extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.扩展项存在后台配置或该配置的参数不合法,如有疑问,请提交工单咨询
400EdgeScriptGrammarNotSupportA background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.存在后台定制规则或该配置的参数不合法,如有疑问,请提交工单咨询
400EdgeScriptNotSupportJsJavaScript rules are not supported. For more information, submit a ticket.未开放JS规则,如有疑问,请提交工单咨询

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-05-25OpenAPI 错误码发生变更查看变更详情