创建函数规则
1. API Description
Domain name for API request: teo.intl.tencentcloudapi.com.
This API is used to create trigger rules for edge functions. It supports determining whether to execute the function via customized filter conditions. When execution is required, it provides multiple ways to select the target function, including directly specifying, selecting based on client region, and selecting based on weight.
A maximum of 20 requests can be initiated per second for this API.
2. Input Parameters
The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| Action | Yes | String | Common Params. The value used for this API: CreateFunctionRule. |
| Version | Yes | String | Common Params. The value used for this API: 2022-09-01. |
| Region | No | String | Common Params. This parameter is not required. |
| ZoneId | Yes | String | Zone ID. |
| FunctionRuleConditions.N | Yes | Array of FunctionRuleCondition | Rule condition list. There is an OR relationship between different conditions of the same trigger rule. |
| TriggerType | No | String | Function selection configuration type. Specifies the default value as direct when left blank. |
| FunctionId | No | String | Specifies the function ID to be executed. this parameter is valid only when TriggerType is direct or left empty. |
| RegionMappingSelections.N | No | Array of FunctionRegionSelection | Function selection configuration based on client IP country/region. this parameter is valid only when TriggerType is region and RegionMappingSelections is required. RegionMappingSelections must include at least one configuration with Regions set to Default. |
| WeightedSelections.N | No | Array of FunctionWeightedSelection | Weighted function selection configuration. this parameter is valid only when TriggerType is weight and WeightedSelections is required. the sum of all weights in WeightedSelections need to be 100. |
| Remark | No | String | Rule description, which can contain up to 60 characters. |
3. Output Parameters
| Parameter Name | Type | Description |
|---|---|---|
| RuleId | String | Rule ID. |
| RequestId | String | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
4. Example
Example1 Creating a Rule for an Edge Function and Executing the Specified Function after Hitting the Rule
This example shows you how to create an edge function rule for site zone-293e7s5jne1i. When the Request host is www.function.com, the rule is matched and the target function is selected via direct specify, with the target function ID being ef-1pakhnuy.
Input Example
POST / HTTP/1.1
Host: teo.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunctionRule
<Common request parameters>
{
"ZoneId": "zone-293e7s5jne1i",
"FunctionRuleConditions": [
{
"RuleConditions": [
{
"Operator": "equal",
"Values": [
"www.function.com"
],
"Target": "host"
}
]
}
],
"TriggerType": "direct",
"FunctionId": "ef-1pakhnuy",
"Remark": "function rule trigger direct"
}
Output Example
{
"Response": {
"RuleId": "rule-vnqup0uc",
"RequestId": "aab9a28a-4cce-434d-852f-5442275817aa"
}
}
Example2 Creating Edge Function Rules Executing Different Functions Based on Client Request Region after Hitting the Rule
This example shows you how to create an edge function rule for site zone-293e7s5jne1i. When the Request host is www.function.com, it hits the rule and selects the target function via region (based on the country/region of the client IP). If the client IP location is Chinese mainland, it executes function ef-1pakhnuy. If the client IP geolocation is other region, it executes function ef-1wekxwnu.
Input Example
POST / HTTP/1.1
Host: teo.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunctionRule
<Common request parameters>
{
"ZoneId": "zone-293e7s5jne1i",
"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"
}
Output Example
{
"Response": {
"RuleId": "rule-vnqup0uc",
"RequestId": "aab9a28a-4cce-434d-852f-5442275817aa"
}
}
Example3 Creating Edge Function Rule Hit Rule Executing Different Functions Based on Customer Set Weight
This example shows you how to create an edge function rule for site zone-293e7s5jne1i. When the Request host is www.function.com, it hits the rule and selects the target function via weight, with a 20% probability to execute function ef-1pakhnuy and an 80% probability to execute function ef-1wekxwnu.
Input Example
POST / HTTP/1.1
Host: teo.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateFunctionRule
<Common request parameters>
{
"ZoneId": "zone-293e7s5jne1i",
"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"
}
Output Example
{
"Response": {
"RuleId": "rule-vnqup0uc",
"RequestId": "aab9a28a-4cce-434d-852f-5442275817aa"
}
}
5. Developer Resources
SDK
TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.
- Tencent Cloud SDK 3.0 for Python
- Tencent Cloud SDK 3.0 for Java
- Tencent Cloud SDK 3.0 for PHP
- Tencent Cloud SDK 3.0 for Go
- Tencent Cloud SDK 3.0 for Node.js
- Tencent Cloud SDK 3.0 for .NET
- Tencent Cloud SDK 3.0 for C++
Command Line Interface
6. Error Code
The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.
| Error Code | Description |
|---|---|
| FailedOperation | Operation failed. |
| FailedOperation.RuleOperationConflict | Function rule operations conflict under this site. |
| InternalError.SystemError | Internal system error. |
| InvalidParameter.DuplicateRule | Duplicate rules. |
| InvalidParameter.InvalidConditions | Invalid conditions. |
| LimitExceeded.RuleLimitExceeded | The number of rules has reached the limit. |
| OperationDenied.VersionControlLocked | The operation is not allowed because the version management mode is applied. |
| ResourceUnavailable.FunctionNotFound | The function does not exist or does not belong to this account. |
| ResourceUnavailable.ZoneNotFound | The site does not exist or is not belong to this account. |
- 1. API Description
- 2. Input Parameters
- 3. Output Parameters
- 4. Example
- Example1 Creating a Rule for an Edge Function and Executing the Specified Function after Hitting the Rule
- Example2 Creating Edge Function Rules Executing Different Functions Based on Client Request Region after Hitting the Rule
- Example3 Creating Edge Function Rule Hit Rule Executing Different Functions Based on Customer Set Weight
- 5. Developer Resources
- SDK
- Command Line Interface
- 6. Error Code