API
  • History
  • Introduction
  • API Category
  • Making API Requests
    • Request Structure
    • Common Params
    • Signature v3
    • Signature
    • Responses
  • Site APIs
    • CreateZone
    • DescribeIdentifications
    • ModifyZone
    • DeleteZone
    • ModifyZoneStatus
    • CheckCnameStatus
    • IdentifyZone
    • DescribeZones
    • VerifyOwnership
    • ExportZoneConfig
    • ImportZoneConfig
    • DescribeZoneConfigImportResult
  • Acceleration Domain Management APIs
    • CreateAccelerationDomain
    • DescribeAccelerationDomains
    • ModifyAccelerationDomain
    • ModifyAccelerationDomainStatuses
    • DeleteAccelerationDomains
    • CreateSharedCNAME
    • BindSharedCNAME
    • DeleteSharedCNAME
  • Site Acceleration Configuration APIs
    • CreateRule
    • DeleteRules
    • DescribeHostsSetting
    • DescribeRules
    • DescribeRulesSetting
    • DescribeZoneSetting
    • ModifyRule
    • ModifyZoneSetting
  • Edge Function APIs
    • CreateFunction
    • DescribeFunctions
    • ModifyFunction
    • CreateFunctionRule
    • DeleteFunction
    • DescribeFunctionRules
    • ModifyFunctionRule
    • ModifyFunctionRulePriority
    • DeleteFunctionRules
    • DescribeFunctionRuntimeEnvironment
    • HandleFunctionRuntimeEnvironment
  • Alias Domain APIs
    • CreateAliasDomain
    • DescribeAliasDomains
    • ModifyAliasDomain
    • ModifyAliasDomainStatus
    • DeleteAliasDomain
  • Security Configuration APIs
    • CreateSecurityIPGroup
    • DescribeSecurityIPGroup
    • ModifySecurityIPGroup
    • DeleteSecurityIPGroup
    • DescribeOriginProtection
    • DescribeSecurityTemplateBindings
    • ModifySecurityPolicy
    • BindSecurityTemplateToEntity
    • DescribeSecurityIPGroupInfo
  • Layer 4 Application Proxy APIs
    • CreateL4Proxy
    • ModifyL4Proxy
    • ModifyL4ProxyStatus
    • DescribeL4Proxy
    • DeleteL4Proxy
    • CreateL4ProxyRules
    • ModifyL4ProxyRules
    • ModifyL4ProxyRulesStatus
    • DescribeL4ProxyRules
    • DeleteL4ProxyRules
    • CreateApplicationProxy
    • ModifyApplicationProxy
    • ModifyApplicationProxyStatus
    • DescribeApplicationProxies
    • DeleteApplicationProxy
    • CreateApplicationProxyRule
    • ModifyApplicationProxyRule
    • ModifyApplicationProxyRuleStatus
    • DeleteApplicationProxyRule
  • Content Management APIs
    • CreatePurgeTask
    • DescribePurgeTasks
    • CreatePrefetchTask
    • DescribePrefetchTasks
    • DescribeContentQuota
  • Data Analysis APIs
    • DescribeDDoSAttackData
    • DescribeDDoSAttackEvent
    • DescribeDDoSAttackTopData
    • DescribeOverviewL7Data
    • DescribeTimingL4Data
    • DescribeTimingL7AnalysisData
    • DescribeTopL7AnalysisData
    • DescribeTimingL7CacheData
    • DescribeTopL7CacheData
  • Log Service APIs
    • DownloadL7Logs
    • DownloadL4Logs
    • CreateCLSIndex
    • CreateRealtimeLogDeliveryTask
    • ModifyRealtimeLogDeliveryTask
    • DeleteRealtimeLogDeliveryTask
    • DescribeRealtimeLogDeliveryTasks
  • Billing APIs
    • CreatePlan
    • UpgradePlan
    • RenewPlan
    • ModifyPlan
    • IncreasePlanQuota
    • DestroyPlan
    • CreatePlanForZone
    • BindZoneToPlan
    • DescribeBillingData
    • DescribeAvailablePlans
  • Certificate APIs
    • DescribeDefaultCertificates
    • ModifyHostsCertificate
  • Load Balancing APIs
    • CreateOriginGroup
    • ModifyOriginGroup
    • DeleteOriginGroup
    • DescribeOriginGroup
    • CreateLoadBalancer
    • ModifyLoadBalancer
    • DeleteLoadBalancer
    • DescribeLoadBalancerList
    • DescribeOriginGroupHealthStatus
  • Custom Response Page APIs
    • CreateCustomizeErrorPage
    • DescribeCustomErrorPages
    • ModifyCustomErrorPage
    • DeleteCustomErrorPage
  • DNS Record APIs
    • CreateDnsRecord
    • DeleteDnsRecords
    • DescribeDnsRecords
    • ModifyDnsRecordsStatus
    • ModifyDnsRecords
  • Diagnostic Tool APIs
    • DescribeIPRegion
  • Version Management APIs
    • CreateConfigGroupVersion
    • DeployConfigGroupVersion
    • DescribeConfigGroupVersionDetail
    • DescribeConfigGroupVersions
    • DescribeDeployHistory
    • DescribeEnvironments
  • Data Types
  • Error Codes

CreateFunctionRule

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.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

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 NameRequiredTypeDescription
ActionYesStringCommon Params. The value used for this API: CreateFunctionRule.
VersionYesStringCommon Params. The value used for this API: 2022-09-01.
RegionNoStringCommon Params. This parameter is not required.
ZoneIdYesStringZone ID.
FunctionRuleConditions.NYesArray of FunctionRuleConditionRule condition list. There is an OR relationship between different conditions of the same trigger rule.
TriggerTypeNoStringFunction selection configuration type.
  • Direct: specifies the execution function directly.
  • .
  • Weight: selects the function based on weight ratio.
  • .
  • region: specifies the country/region selection function based on client IP.
  • .
    Specifies the default value as direct when left blank.
    FunctionIdNoStringSpecifies the function ID to be executed. this parameter is valid only when TriggerType is direct or left empty.
    RegionMappingSelections.NNoArray of FunctionRegionSelectionFunction 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.NNoArray of FunctionWeightedSelectionWeighted 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.
    RemarkNoStringRule description, which can contain up to 60 characters.

    3. Output Parameters

    Parameter NameTypeDescription
    RuleIdStringRule ID.
    RequestIdStringThe 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.

    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 CodeDescription
    FailedOperationOperation failed.
    FailedOperation.RuleOperationConflictFunction rule operations conflict under this site.
    InternalError.SystemErrorInternal system error.
    InvalidParameter.DuplicateRuleDuplicate rules.
    InvalidParameter.InvalidConditionsInvalid conditions.
    LimitExceeded.RuleLimitExceededThe number of rules has reached the limit.
    OperationDenied.VersionControlLockedThe operation is not allowed because the version management mode is applied.
    ResourceUnavailable.FunctionNotFoundThe function does not exist or does not belong to this account.
    ResourceUnavailable.ZoneNotFoundThe site does not exist or is not belong to this account.