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
  • Acceleration Domain Management APIs
    • CreateAccelerationDomain
    • DescribeAccelerationDomains
    • ModifyAccelerationDomain
    • ModifyAccelerationDomainStatuses
    • DeleteAccelerationDomains
    • CreateSharedCNAME
    • BindSharedCNAME
    • DeleteSharedCNAME
  • Site Acceleration Configuration APIs
    • CreateRule
    • DeleteRules
    • DescribeHostsSetting
    • DescribeRules
    • DescribeRulesSetting
    • DescribeZoneSetting
    • ModifyRule
    • ModifyZoneSetting
  • 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
  • Custom Response Page APIs
    • CreateCustomizeErrorPage
    • DescribeCustomErrorPages
    • ModifyCustomErrorPage
    • DeleteCustomErrorPage
  • Diagnostic Tool APIs
    • DescribeIPRegion
  • Version Management APIs
    • CreateConfigGroupVersion
    • DeployConfigGroupVersion
    • DescribeConfigGroupVersionDetail
    • DescribeConfigGroupVersions
    • DescribeDeployHistory
    • DescribeEnvironments
  • Data Types
  • Error Codes

CreateRealtimeLogDeliveryTask

1. API Description

Domain name for API request: teo.intl.tencentcloudapi.com.

This API is used to create a real-time log delivery task. The following limits apply:
An entity (a Layer 7 domain name or a Layer 4 proxy instance) under the combination of the same data delivery type (LogType) and data delivery area (Area) can be added to only one real-time log delivery task. It is recommended to first query the real-time log delivery task list by entity through the DescribeRealtimeLogDeliveryTasks API to check whether the entity has been added to another real-time log delivery task.

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: CreateRealtimeLogDeliveryTask.
VersionYesStringCommon Params. The value used for this API: 2022-09-01.
RegionNoStringCommon Params. This parameter is not required.
ZoneIdYesStringZone ID.
TaskNameYesStringName of a real-time log delivery task, which can contain up to 200 characters, including digits, English letters, hyphens (-) and underscores (_).
TaskTypeYesStringType of a real-time log delivery task. Valid values:
  • cls: push to Tencent Cloud CLS;
  • custom_endpoint: push to a custom HTTP(S) address;
  • s3: push to an AWS S3-compatible bucket address.
  • EntityList.NYesArray of StringList of entities (L7 domain names or L4 proxy instances) corresponding to a real-time log delivery task. Valid value examples:
  • L7 domain name: domain.example.com;
  • L4 proxy instance: sid-2s69eb5wcms7.

  • Reference for values
    DescribeAccelerationDomains
    DescribeApplicationProxies
    LogTypeYesStringDataset type. Valid values:
  • domain: site acceleration logs;
  • application: L4 proxy logs;
  • web-rateLiming: rate limit and CC attack defense logs;
  • web-attack: managed rule logs;
  • web-rule: custom rule logs;
  • web-bot: Bot management logs.
  • AreaYesStringData area. Valid values:
  • mainland: within the Chinese mainland;
  • overseas: global (excluding the Chinese mainland).
  • Fields.NYesArray of StringList of predefined fields for delivery.
    CustomFields.NNoArray of CustomFieldThe list of custom fields for log delivery, which supports extracting specified content from HTTP request headers, response headers, cookies, and request bodies. Custom field names must be unique. The number of custom fields cannot exceed a maximum of 200. A single real-time log delivery task can configure up to 5 custom fields of the request body type. Currently, only site acceleration logs (LogType=domain) support custom fields.
    DeliveryConditions.NNoArray of DeliveryConditionFilter criteria of log delivery. If this parameter is not specified, all logs will be shipped.
    SampleNoIntegerSampling ratio in permille. Value range: 1-1000. For example, 605 indicates a sampling ratio of 60.5%. If this parameter is not specified, the sampling ratio is 100%.
    LogFormatNoLogFormatOutput format for log delivery. If this field is not specified, the default format is used, which works as follows:
  • When TaskType is 'custom_endpoint', the default format is an array of JSON objects, with each JSON object representing a log entry;
  • When TaskType is 's3', the default format is JSON Lines;
  • Specifically, when TaskType is 'cls', the only allowed value for LogFormat.FormatType is 'json', and other parameters in LogFormat will be ignored. It is recommended not to transfer LogFormat.
    CLSNoCLSTopicConfiguration information of CLS. This parameter is required when TaskType is cls.
    CustomEndpointNoCustomEndpointConfiguration information of the custom HTTP service. This parameter is required when TaskType is custom_endpoint.
    S3NoS3Configuration information of the AWS S3-compatible bucket. This parameter is required when TaskType is s3.

    3. Output Parameters

    Parameter NameTypeDescription
    TaskIdStringID of the successfully created task.
    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 Log Delivery Task with the Destination Set to Tencent Cloud CLS

    This example shows you how to create a log delivery task with the destination set to Tencent Cloud CLS. The delivery data range includes the site acceleration log generated by domain.example.com in the Chinese mainland. The data includes the RequestID, ClientIP, and RequestTime fields, and field values extracted from the Accept-Language request header. The configuration sampling ratio is 60.5%.

    Input Example

    POST / HTTP/1.1
    Host: teo.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRealtimeLogDeliveryTask
    <Common request parameters>
    
    {
        "ZoneId": "zone-xxxxx",
        "TaskName": "test_log_task",
        "TaskType": "cls",
        "EntityList": [
            "domain.example.com"
        ],
        "LogType": "domain",
        "Area": "mainland",
        "Fields": [
            "RequestID",
            "ClientIP",
            "RequestTime"
        ],
        "CustomFields": [
            {
                "Name": "ReqHeader",
                "Value": "Accept-Language",
                "Enabled": true
            }
        ],
        "Sample": 605,
        "CLS": {
            "LogSetId": "1a6efff1-0e40-4d37-a4ed-02c92513406b",
            "TopicId": "0b3a07c0-5cf6-4017-8a75-cd4459aea588",
            "LogSetRegion": "ap-guangzhou"
        }
    }
    

    Output Example

    {
        "Response": {
            "TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
            "RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
        }
    }
    

    Example2 Creating a Log Delivery Task with the Destination Set to a Custom HTTP Service

    This example shows you how to create a log delivery task with the destination set to a custom HTTP service. The delivery data range includes the site acceleration log generated by domain.example.com in the Chinese mainland and with the final security handling method being interception or challenge. The data includes the RequestID, ClientIP, and RequestTime fields. Log sampling is disabled, log delivery compression is enabled, and the custom request header Vendor with a constant value of EdgeOne is carries during log delivery.

    Input Example

    POST / HTTP/1.1
    Host: teo.intl.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateRealtimeLogDeliveryTask
    <Common request parameters>
    
    {
        "ZoneId": "zone-xxxxx",
        "TaskName": "test_log_task",
        "TaskType": "custom_endpoint",
        "EntityList": [
            "domain.example.com"
        ],
        "LogType": "domain",
        "Area": "mainland",
        "Fields": [
            "RequestID",
            "ClientIP",
            "RequestTime"
        ],
        "Sample": 1000,
        "DeliveryConditions": [
            {
                "Conditions": [
                    {
                        "Key": "SecurityAction",
                        "Operator": "equal",
                        "Value": [
                            "Deny",
                            "JSChallenge",
                            "ManagedChallenge"
                        ]
                    }
                ]
            }
        ],
        "CustomEndpoint": {
            "Url": "http://custom_endpoint/access_log/post",
            "CompressType": "gzip",
            "Headers": [
                {
                    "Name": "Vendor",
                    "Value": "EdgeOne"
                }
            ]
        }
    }
    

    Output Example

    {
        "Response": {
            "TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
            "RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
        }
    }
    

    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.CreateClsLogSetFailedFailed to create the log set. Check whether the log set name already exists.
    FailedOperation.CreateClsLogTopicTaskFailedFailed to create the log topic task. Check whether the log topic name or task name already exists.
    FailedOperation.CreateLogTopicTaskAuthFailureAuthentication failed while creating a custom push task. Check whether the push address is correct.
    FailedOperation.RealtimeLogAuthFailureThe real-time log authentication failed.
    FailedOperation.RealtimeLogNotFoundThe real-time log push task does not exist.
    InvalidParameterParameter error.
    InvalidParameter.InvalidLogFormatFieldDelimiterThe field separator in the log output format is incorrect.
    InvalidParameter.InvalidLogFormatFormatTypeThe log output format type is incorrect.
    InvalidParameter.InvalidLogFormatRecordDelimiterThe log record separator in the log output format is incorrect.
    InvalidParameter.RealtimeLogEntityAlreadyCreatedThe push instance has been created.
    InvalidParameter.RealtimeLogInvalidDeliveryAreaThe log push region is invalid.
    InvalidParameter.RealtimeLogInvalidLogTypeThe log push type is invalid.
    InvalidParameter.RealtimeLogInvalidTaskTypeThe real-time log delivery type is invalid.
    InvalidParameter.RealtimeLogNumsExceedLimitThe real-time log push task data exceeded the limit.
    InvalidParameterValueInvalid parameter value.
    LimitExceededThe quota limit has been reached.
    LimitExceeded.CustomLogFieldRegexLimitExceededThe number of regular expression type fields in real-time log custom fields exceeds the limit.
    OperationDeniedOperation denied.
    ResourceNotFoundThe resource doesn’t exist.
    ResourceUnavailableThe resource is unavailable.
    UnauthorizedOperation.NoPermissionThe sub-account is not authorized for the operation. Please get permissions first.