有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

1. 接口描述

接口请求域名: teo.tencentcloudapi.com 。

规则引擎创建规则。

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateRule。
Version String 公共参数,本接口取值:2022-09-01。
Region String 公共参数,此参数为可选参数。
ZoneId String 站点 ID。
RuleName String 规则名称,名称字符串长度 1~255。
Status String 规则状态,取值有:
  • enable: 启用;
  • disable: 未启用。
  • Rules.N Array of Rule 规则内容。
    Tags.N Array of String 规则标签。

    3. 输出参数

    参数名称 类型 描述
    RuleId String 规则 ID。
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 CreateRule

    创建一个规则引擎

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "Status": "disable",
        "Rules": [
            {
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "RangeOriginPull",
                            "Parameters": [
                                {
                                    "Name": "Switch",
                                    "Values": [
                                        "on"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "CodeAction": {
                            "Action": "StatusCodeCache",
                            "Parameters": [
                                {
                                    "Name": "CacheTime",
                                    "StatusCode": 200,
                                    "Values": [
                                        "20"
                                    ]
                                }
                            ]
                        }
                    },
                    {
                        "RewriteAction": {
                            "Action": "ResponseHeader",
                            "Parameters": [
                                {
                                    "Action": "set",
                                    "Name": "Foo",
                                    "Values": [
                                        "Bar"
                                    ]
                                },
                                {
                                    "Action": "add",
                                    "Name": "Hello",
                                    "Values": [
                                        "World"
                                    ]
                                },
                                {
                                    "Action": "del",
                                    "Name": "Foo2",
                                    "Values": []
                                }
                            ]
                        }
                    }
                ],
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "Values": [
                                    "test.vernayang.com"
                                ]
                            }
                        ]
                    }
                ]
            }
        ],
        "RuleName": "new_rule01",
        "ZoneId": "zone-qbjifysd"
    }

    输出示例

    {
        "Response": {
            "RequestId": "811d2583-310c-41f4-b5e7-abe4074047d4",
            "RuleId": "rule-djuqmq"
        }
    }

    示例2 修改源站为IP域名

    规则引擎修改源站为IP域名

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-2kmrcz5heaw2",
        "RuleName": "test_origin",
        "Status": "enable",
        "Rules": [
            {
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "IgnoreCase": false,
                                "Values": [
                                    "rule.test.cloud"
                                ]
                            },
                            {
                                "Operator": "equal",
                                "Target": "client_country",
                                "IgnoreCase": false,
                                "Values": [
                                    "CN"
                                ]
                            }
                        ]
                    }
                ],
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "Origin",
                            "Parameters": [
                                {
                                    "Name": "Type",
                                    "Values": [
                                        "IP_DOMAIN"
                                    ]
                                },
                                {
                                    "Name": "DomainName",
                                    "Values": [
                                        "1.1.1.1"
                                    ]
                                },
                                {
                                    "Name": "OriginProtocol",
                                    "Values": [
                                        "follow"
                                    ]
                                },
                                {
                                    "Name": "HttpOriginPort",
                                    "Values": [
                                        "80"
                                    ]
                                },
                                {
                                    "Name": "HttpsOriginPort",
                                    "Values": [
                                        "443"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "SubRules": []
            }
        ]
    }

    输出示例

    {
        "Response": {
            "RuleId": "rule-djuqsx",
            "RequestId": "811d2583-310c-41f4-b5e7-abe4074047d4"
        }
    }

    示例3 修改源站为源站组

    规则引擎修改源站为源站组

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-2kmrcz5heaw2",
        "RuleName": "test_origin",
        "Status": "enable",
        "Rules": [
            {
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "IgnoreCase": false,
                                "Values": [
                                    "rule.test.cloud"
                                ]
                            },
                            {
                                "Operator": "equal",
                                "Target": "client_country",
                                "IgnoreCase": false,
                                "Values": [
                                    "CN"
                                ]
                            }
                        ]
                    }
                ],
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "Origin",
                            "Parameters": [
                                {
                                    "Name": "Type",
                                    "Values": [
                                        "OriginGroup"
                                    ]
                                },
                                {
                                    "Name": "OriginGroupId",
                                    "Values": [
                                        "origin-ff7e677b-2c4d-11ee-9687-525400521111"
                                    ]
                                },
                                {
                                    "Name": "OriginProtocol",
                                    "Values": [
                                        "follow"
                                    ]
                                },
                                {
                                    "Name": "HttpOriginPort",
                                    "Values": [
                                        "80"
                                    ]
                                },
                                {
                                    "Name": "HttpsOriginPort",
                                    "Values": [
                                        "443"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "SubRules": []
            }
        ]
    }

    输出示例

    {
        "Response": {
            "RuleId": "rule-djuq9s",
            "RequestId": "811d2583-310c-41f4-b5e7-abe407404sdsd"
        }
    }

    示例4 修改源站为负载均衡

    规则引擎修改源站为负载均衡

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-2kmrcz5heaw2",
        "RuleName": "test_origin",
        "Status": "enable",
        "Rules": [
            {
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "IgnoreCase": false,
                                "Values": [
                                    "rule.test.cloud"
                                ]
                            },
                            {
                                "Operator": "equal",
                                "Target": "client_country",
                                "IgnoreCase": false,
                                "Values": [
                                    "CN"
                                ]
                            }
                        ]
                    }
                ],
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "Origin",
                            "Parameters": [
                                {
                                    "Name": "Type",
                                    "Values": [
                                        "LoadBalance"
                                    ]
                                },
                                {
                                    "Name": "OriginGroupId",
                                    "Values": [
                                        "lb-ff7e677b-2c4d-11ee-9687"
                                    ]
                                },
                                {
                                    "Name": "OriginProtocol",
                                    "Values": [
                                        "follow"
                                    ]
                                },
                                {
                                    "Name": "HttpOriginPort",
                                    "Values": [
                                        "80"
                                    ]
                                },
                                {
                                    "Name": "HttpsOriginPort",
                                    "Values": [
                                        "443"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "SubRules": []
            }
        ]
    }

    输出示例

    {
        "Response": {
            "RuleId": "rule-djuq91",
            "RequestId": "811d2583-310c-41f4-b5e7-abe407404xs"
        }
    }

    示例5 修改源站为S3对象存储

    规则引擎修改源站为S3兼容的对象存储

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-2kmrcz5heaw2",
        "RuleName": "test_origin",
        "Status": "enable",
        "Rules": [
            {
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "IgnoreCase": false,
                                "Values": [
                                    "rule.test.cloud"
                                ]
                            },
                            {
                                "Operator": "equal",
                                "Target": "client_country",
                                "IgnoreCase": false,
                                "Values": [
                                    "CN"
                                ]
                            }
                        ]
                    }
                ],
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "Origin",
                            "Parameters": [
                                {
                                    "Name": "Type",
                                    "Values": [
                                        "AWS_S3"
                                    ]
                                },
                                {
                                    "Name": "ServerName",
                                    "Values": [
                                        "bucke_name.gcp.storage.com"
                                    ]
                                },
                                {
                                    "Name": "PrivateAccess",
                                    "Values": [
                                        "on"
                                    ]
                                },
                                {
                                    "Name": "AccessKeyId",
                                    "Values": [
                                        "xxxx******xxxx"
                                    ]
                                },
                                {
                                    "Name": "SecretAccessKey",
                                    "Values": [
                                        "xxxx******xxxx"
                                    ]
                                },
                                {
                                    "Name": "SignatureVersion",
                                    "Values": [
                                        "v4"
                                    ]
                                },
                                {
                                    "Name": "Region",
                                    "Values": [
                                        "ap-guangzhou"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "SubRules": []
            }
        ]
    }

    输出示例

    {
        "Response": {
            "RuleId": "rule-djuq23",
            "RequestId": "811d2583-310c-41f4-b5e7-abe407404sxsd"
        }
    }

    示例6 修改源站为COS对象存储

    规则引擎修改源站为COS对象存储

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-2kmrcz5heaw2",
        "RuleName": "test_origin",
        "Status": "enable",
        "Rules": [
            {
                "Conditions": [
                    {
                        "Conditions": [
                            {
                                "Operator": "equal",
                                "Target": "host",
                                "IgnoreCase": false,
                                "Values": [
                                    "rule.test.cloud"
                                ]
                            },
                            {
                                "Operator": "equal",
                                "Target": "client_country",
                                "IgnoreCase": false,
                                "Values": [
                                    "CN"
                                ]
                            }
                        ]
                    }
                ],
                "Actions": [
                    {
                        "NormalAction": {
                            "Action": "Origin",
                            "Parameters": [
                                {
                                    "Name": "Type",
                                    "Values": [
                                        "COS"
                                    ]
                                },
                                {
                                    "Name": "ServerName",
                                    "Values": [
                                        "bucke_name.gcp.storage.com"
                                    ]
                                },
                                {
                                    "Name": "CosPrivateAccess",
                                    "Values": [
                                        "on"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "SubRules": []
            }
        ]
    }

    输出示例

    {
        "Response": {
            "RuleId": "rule-djuq21",
            "RequestId": "811d2583-310c-41f4-b5e7-abe407404hs"
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    FailedOperation 操作失败。
    InternalError.ConfigLocked 配置已被锁定,请解除配置锁定之后在重试。
    InternalError.ProxyServer 后端服务器发生未知错误。
    InternalError.SystemError 内部错误-系统错误。
    InvalidParameter.AccessRedirectRegexError 正则表达式非标准RE2格式。
    InvalidParameter.ActionInProgress 操作频繁,请稍后重试。
    InvalidParameter.CertSystemError 内部错误。
    InvalidParameter.ErrActionUnsupportTarget 操作不支持条件。
    InvalidParameter.ErrInvalidAction 非法操作。
    InvalidParameter.ErrInvalidActionOriginPrivateAddress 无效的规则引擎操作,源站IP不支持内网IP或回环地址。
    InvalidParameter.ErrInvalidActionParam 非法操作-非法参数。
    InvalidParameter.ErrInvalidActionParamAction 非法操作-非法参数-无效action。
    InvalidParameter.ErrInvalidActionParamBadValueType 非法操作-非法参数-无效参数值类型。
    InvalidParameter.ErrInvalidActionParamDuplicateName 非法操作-非法参数-参数名重复。
    InvalidParameter.ErrInvalidActionParamName 非法操作-非法参数-无效参数值类型。
    InvalidParameter.ErrInvalidActionParamValue 非法操作-非法参数-无效参数值。
    InvalidParameter.ErrInvalidActionType 非法操作-非法类型。
    InvalidParameter.ErrInvalidCondition 非法条件。
    InvalidParameter.ErrInvalidConditionCannotOnlyContainHostWhenModifyOriginActionConfigured 修改源站操作不能仅配置host匹配类型。
    InvalidParameter.ErrInvalidConditionIgnoreCase 非法条件-非法忽略大小写。
    InvalidParameter.ErrInvalidConditionNameBadName 非法条件-非法参数名称-无效的参数名称。
    InvalidParameter.ErrInvalidConditionNameTargetNotSupportName 非法条件-非法参数名称-匹配类型不支持参数名称。
    InvalidParameter.ErrInvalidConditionValueBadRegular 非法条件-非法参数值-无效的正则表达式。
    InvalidParameter.ErrInvalidConditionValueBadUrl 非法条件-非法参数值-无效的url。
    InvalidParameter.ErrInvalidConditionValueBadValue 非法条件-非法参数值-无效的参数值。
    InvalidParameter.ErrInvalidConditionValueBadValueContainFileNameExtension 非法条件-非法参数值-无效的参数值-文件名不应包含文件后缀。
    InvalidParameter.ErrInvalidConditionValueTooLongValue 非法条件-非法参数值-参数值长度超出限制。
    InvalidParameter.ErrInvalidConditionValueTooManyRegular 非法条件-非法参数值-正则表达式数量超出限制。
    InvalidParameter.ErrInvalidConditionValueTooManyValues 非法条件-非法参数值-参数值数量超出限制。
    InvalidParameter.ErrInvalidConditionValueTooManyWildcard 非法条件-非法参数值-通配符数量超出限制。
    InvalidParameter.ErrInvalidConditionValueZeroLength 非法条件-非法参数值-参数值数量为0。
    InvalidParameter.ErrNilCondition 条件为空。
    InvalidParameter.GrpcRequireHttp2 开启 Grpc 协议支持需要同时开启 HTTP/2 协议支持。
    InvalidParameter.HostNotFound 域名不存在。
    InvalidParameter.InvalidAuthentication 无效的token鉴权。
    InvalidParameter.InvalidAuthenticationTypeExpireTime 无效的token鉴权过期时间。
    InvalidParameter.InvalidAuthenticationTypeSignParam 无效的token鉴权参数。
    InvalidParameter.InvalidAwsRegion 请正确填写地域作为第三方对象存储私有访问参数。
    InvalidParameter.InvalidBackupServerName 无效的备源回源Host。
    InvalidParameter.InvalidCacheConfigCache 无效的节点缓存。
    InvalidParameter.InvalidCacheKey 无效的缓存键。
    InvalidParameter.InvalidCacheKeyQueryStringValue 无效的查询字符串。
    InvalidParameter.InvalidCacheTime 无效的节点缓存时间。
    InvalidParameter.InvalidClientIpHeaderName 无效的客户端IP请求头。
    InvalidParameter.InvalidDynamicRoutine 无效的智能加速。
    InvalidParameter.InvalidDynamicRoutineBilling 套餐包不支持智能加速配置。
    InvalidParameter.InvalidErrorPageRedirectUrl 无效的自定义错误页面。
    InvalidParameter.InvalidHttpsCipherSuiteAndTlsVersion 加密套件与TLS版本不匹配。
    InvalidParameter.InvalidHttpsHstsMaxAge 无效的HTTPS HSTS。
    InvalidParameter.InvalidIpv6Switch 无效的Ipv6开关配置。
    InvalidParameter.InvalidMaxAgeTime 无效的浏览器缓存。
    InvalidParameter.InvalidOrigin 无效的源站。
    InvalidParameter.InvalidParameter 参数错误。
    InvalidParameter.InvalidPostSizeValue 无效的最大上传大小。
    InvalidParameter.InvalidRangeOriginPull 无效的分片回源。
    InvalidParameter.InvalidRequestHeaderName 无效的请求头header。
    InvalidParameter.InvalidRequestHeaderNameXff x-forwarded-for 请求头配置无效
    InvalidParameter.InvalidRequestHeaderValue 无效的请求头header。
    InvalidParameter.InvalidResponseHeaderName 无效的响应头header。
    InvalidParameter.InvalidResponseHeaderValue 无效的响应头header。
    InvalidParameter.InvalidRuleEngineAction 无效的规则引擎操作。
    InvalidParameter.InvalidRuleEngineTarget 无效的规则引擎条件。
    InvalidParameter.InvalidRuleEngineTargetsExtension 无效的规则引擎文件后缀条件。
    InvalidParameter.InvalidRuleEngineTargetsUrl 无效的规则引擎URL条件。
    InvalidParameter.InvalidServerName 无效的回源Host。
    InvalidParameter.InvalidStandardDebugExpireTimeLimit 有效期超过限制。
    InvalidParameter.InvalidUpstreamRequestQueryStringValue 无效的回源请求参数设置-无效查询字符串值。
    InvalidParameter.InvalidUrlRedirect 无效的URL重写。
    InvalidParameter.InvalidUrlRedirectHost URL重写的目标HOST无效。
    InvalidParameter.InvalidUrlRedirectUrl URL重写的目标URL无效。
    InvalidParameter.InvalidWebSocketTimeout 无效的WebSocket。
    InvalidParameter.KeyRulesInvalidQueryStringValue 无效的缓存键。
    InvalidParameter.LoadBalanceInstanceIdIsRequired 修改源站操作中负载均衡实例Id必填。
    InvalidParameter.NotSupportThisPreset 操作配置存在不支持的预设变量。
    InvalidParameter.OriginOriginGroupIdIsRequired 修改源站操作中源站组Id必填。
    InvalidParameter.PostMaxSizeLimitExceeded 最大上传大小超出限制
    InvalidParameter.TaskSystemError 内部错误。
    LimitExceeded 超过配额限制。
    OperationDenied 操作被拒绝。
    OperationDenied.AccelerateMainlandMultiplyLayerConflict 当前站点下存在域名功能与中国大陆网络优化冲突,不能同时配置。
    OperationDenied.ErrZoneIsAlreadyPaused 站点处于停用状态,请开启后重试。
    OperationDenied.InvalidAdvancedDefenseSecurityType 开启高防时必须保证安全是开启状态。
    ResourceInUse 资源被占用。
    UnauthorizedOperation.CamUnauthorized Cam 未授权。