修改边缘函数触发规则

最近更新时间:2025-10-20 02:51:49

我的收藏

1. 接口描述

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

修改边缘函数触发规则,支持修改规则条件、执行函数以及描述信息。您可以先通过 DescribeFunctionRules 接口来获取需要修改的规则的 RuleId,然后传入修改后的规则内容,原规则内容会被覆盖式更新。

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

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

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:ModifyFunctionRule。
Version String 公共参数,本接口取值:2022-09-01。
Region String 公共参数,此参数为可选参数。
ZoneId String 站点 ID。
RuleId String 规则 ID。您可以先通过 DescribeFunctionRules 接口来获取需要修改的规则的 RuleId,然后传入修改后的规则内容,原规则内容会被覆盖式更新。
FunctionRuleConditions.N Array of FunctionRuleCondition 规则条件列表,相同触发规则的不同条件匹配项之间为或关系,不填写保持原有配置。
TriggerType String 函数选择配置类型:
  • direct:直接指定执行函数;
  • weight:基于权重比选择函数;
  • region:基于客户端 IP 的国家/地区选择函数。

  • 不填时默认为 direct 。
    FunctionId String 指定执行的函数 ID。当 TriggerType 为 direct 或 TriggerType 不填时生效。
    RegionMappingSelections.N Array of FunctionRegionSelection 基于客户端 IP 国家/地区的函数选择配置,当 TriggerType 为 region 时生效且 RegionMappingSelections 必填。RegionMappingSelections 中至少包含一项 Regions 为 Default 的配置。
    WeightedSelections.N Array of FunctionWeightedSelection 基于权重的函数选择配置,当 TriggerType 为 weight 时生效且 WeightedSelections 必填。WeightedSelections 中的所有权重之和需要为100。
    Remark String 规则描述,最大支持 60 个字符,不填写保持原有配置。

    3. 输出参数

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

    4. 示例

    示例1 修改边缘函数规则命中规则后执行指定函数

    修改函数规则 rule-vnqup0uc ,当请求host为 www.function.com 时命中规则,采用 direct(直接指定)的方式选择目标函数,目标函数 ID 为 ef-1pakhnuy 。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ModifyFunctionRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-293e7s5jne1i",
        "RuleId": "rule-vnqup0uc",
        "FunctionRuleConditions": [
            {
                "RuleConditions": [
                    {
                        "Operator": "equal",
                        "Values": [
                            "www.function.com"
                        ],
                        "Target": "host"
                    }
                ]
            }
        ],
        "TriggerType": "direct",
        "FunctionId": "ef-1pakhnuy",
        "Remark": "function rule trigger direct"
    }

    输出示例

    {
        "Response": {
            "RequestId": "7a1e998f-fa00-4670-8457-ed4b4fe5018a"
        }
    }

    示例2 修改边缘函数规则命中规则后根据客户请求地区执行不同的函数

    修改函数规则 rule-vnqup0uc,当请求host为 www.function.com 时命中规则,采用 region(基于客户端 IP 国家/地区)的方式选择目标函数,如果客户端的 IP 归属地为中国大陆,则执行函数 ef-1pakhnuy ,如果客户端的 IP 归属地为其他地区,则执行函数 ef-1wekxwnu 。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ModifyFunctionRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-293e7s5jne1i",
        "RuleId": "rule-vnqup0uc",
        "FunctionRuleConditions": [
            {
                "RuleConditions": [
                    {
                        "Operator": "equal",
                        "Values": [
                            "www.function.com"
                        ],
                        "Target": "host"
                    }
                ]
            }
        ],
        "TriggerType": "region",
        "RegionMappingSelections": [
            {
                "FunctionId": "ef-1pakhnuy",
                "Regions": [
                    "CN"
                ]
            },
            {
                "FunctionId": "ef-1wekxwnu",
                "Regions": [
                    "Default"
                ]
            }
        ],
        "Remark": "function rule trigger region"
    }

    输出示例

    {
        "Response": {
            "RequestId": "7a1e998f-fa00-4670-8457-ed4b4fe5018a"
        }
    }

    示例3 修改边缘函数规则命中规则后根据客户设置的权重执行不同的函数

    修改函数规则 rule-vnqup0uc,当请求host为 www.function.com 时命中规则,采用 weight(基于权重)的方式选择目标函数,有20%的概率,执行函数 ef-1pakhnuy ,有80%的概率,执行函数 ef-1wekxwnu 。

    输入示例

    POST / HTTP/1.1
    Host: teo.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ModifyFunctionRule
    <公共请求参数>
    
    {
        "ZoneId": "zone-293e7s5jne1i",
        "RuleId": "rule-vnqup0uc",
        "FunctionRuleConditions": [
            {
                "RuleConditions": [
                    {
                        "Operator": "equal",
                        "Values": [
                            "www.function.com"
                        ],
                        "Target": "host"
                    }
                ]
            }
        ],
        "TriggerType": "weight",
        "WeightedSelections": [
            {
                "FunctionId": "ef-1wekxwnu",
                "Weight": 80
            },
            {
                "FunctionId": "ef-1pakhnuy",
                "Weight": 20
            }
        ],
        "Remark": "function rule trigger weight"
    }

    输出示例

    {
        "Response": {
            "RequestId": "7a1e998f-fa00-4670-8457-ed4b4fe5018a"
        }
    }

    5. 开发者资源

    腾讯云 API 平台

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

    API Inspector

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

    SDK

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

    命令行工具

    6. 错误码

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

    错误码 描述
    FailedOperation 操作失败。
    FailedOperation.RuleOperationConflict 该站点下函数规则操作冲突。
    InternalError.SystemError 内部错误-系统错误。
    InvalidParameter.DuplicateRule 重复规则。
    InvalidParameter.InvalidConditions 不合法的条件。
    InvalidParameter.ModifyParametersMissing 修改参数缺失。
    ResourceUnavailable.FunctionNotFound 函数不存在或不属于该账号。
    ResourceUnavailable.RuleNotFound 规则不存在或不属于该账号。