1. 接口描述
接口请求域名: teo.tencentcloudapi.com 。
修改边缘函数触发规则,支持修改规则条件、执行函数以及描述信息。您可以先通过 DescribeFunctionRules 接口来获取需要修改的规则的 RuleId,然后传入修改后的规则内容,原规则内容会被覆盖式更新。
默认接口请求频率限制:20次/秒。
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 。 |
| 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。
- Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 描述 |
|---|---|
| FailedOperation | 操作失败。 |
| FailedOperation.RuleOperationConflict | 该站点下函数规则操作冲突。 |
| InternalError.SystemError | 内部错误-系统错误。 |
| InvalidParameter.DuplicateRule | 重复规则。 |
| InvalidParameter.InvalidConditions | 不合法的条件。 |
| InvalidParameter.ModifyParametersMissing | 修改参数缺失。 |
| ResourceUnavailable.FunctionNotFound | 函数不存在或不属于该账号。 |
| ResourceUnavailable.RuleNotFound | 规则不存在或不属于该账号。 |