tencent cloud

APIs

CreateRealtimeLogDeliveryTask

Unduh
Mode fokus
Ukuran font
Terakhir diperbarui: 2026-09-17 14:18:44

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:
-When the data delivery type (LogType) is Layer 7 Access Logs, four-layer proxy logs, or edge function logs, an entity (layer-7 domain name, L4 proxy instance, or edge function instance) can only be added to the following combination of real-time log delivery task types (TaskType) under the same combination of data delivery type (LogType) and data delivery area (Area):
-A task that pushes to Tencent Cloud CLS, add an additional task that pushes to a custom HTTP(S) address.
-A task to push to Tencent Cloud CLS, add another task to push to AWS S3-compatible object storage;
-When the data delivery type (LogType) is rate limit and CC attack defense log, managed rule log, custom rule log, or Bot Management Log, an entity can only be added to one real-time log delivery task under the combination of the same data delivery type (LogType) and data delivery Area.
-When the real-time log delivery task type (TaskType) is EdgeOne log analysis (log_analysis), it supports only data delivery types (LogType) of Layer 7 Access Logs (l7-access-logs) or managed rule logs (web-attack). Under the combination of the same site (ZoneId), same data delivery area (Area), and data, each data delivery type (LogType) can only add one real-time log delivery task pushed to EdgeOne log analysis.

It is advisable to first query the real-time log delivery task list based on the physical entity using the DescribeRealtimeLogDeliveryTasks API (https://www.tencentcloud.com/document/product/1552/104110?from_cn_redirect=1) 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 Name Required Type Description
Action Yes String Common Params. The value used for this API: CreateRealtimeLogDeliveryTask.
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

Site ID.

Area Yes String

Data shipping area. Available values:

  • mainland: within the Chinese mainland;
  • overseas: global (excluding the Chinese mainland).

LogType Yes String

Data delivery type. Available values:

  • l7-access-logs: Layer 7 Access Logs;
  • application: Layer 4 Proxy Logs;
  • function: Function Logs;
  • web-attack: Managed Rule Logs.

The following types of logs are merged into l7-access-logs and no longer support adding:

  • domain: Site Acceleration Logs;
  • web-rateLiming: Rate Limit and CC Attack Defense Logs;
  • web-rule: Custom Rule Logs;
  • web-bot: Bot Management Logs.
TaskName Yes String

Name of a real-time log delivery task, which can contain up to 200 characters, including digits, English letters, hyphens (-) and underscores (_).

TaskType Yes String

Type of a real-time log shipping 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;
  • log_analysis: push to EdgeOne log analytics. This is supported only when LogType = l7-access-logs or web-attack.

EntityList.N Yes Array of String

List of entities corresponding to real-time log delivery tasks. Example values:

  • Layer 7 domain: domain.example.com
  • Layer 4 proxy instance: sid-2s69eb5wcms7
  • Edge function instance: test-zone-2mxigizoh9l9-1257626257

For reference: DescribeL4Proxy

Fields.N Yes Array of String

Predefined fields for delivery. For reference:

For reference: DescribeLogFields

CustomFields.N No Array of CustomField

Custom fields for delivery support extracting specified content from HTTP request headers, response headers, cookies, and request bodies.
Custom field name must be unique. Only Layer 7 access logs (LogType= l7-access-logs or domain) support adding custom fields.
The count of custom fields allowed to be configured has a quota limit. If the quota is insufficient, please contact us (https://www.tencentcloud.com/contact-us).

CustomExpressionFields.N No Array of CustomExpressionField

The list of custom expression fields for submission can be used to implement personalized real-time log content push through custom log push field names and value expressions. For usage details, refer to Custom Log Field Expressions.
Only Layer 7 Access Logs (LogType= l7-access-logs or domain) support adding custom fields.
There is a quota limit on the count of custom fields that can be configured. If the quota is insufficient, please contact us.
Note: If a field named in CustomExpressionFields has the same name as a field in Fields and CustomFields, the value in CustomExpressionFields takes precedence.

DeliveryConditions.N No Array of DeliveryCondition

Filter criteria of log shipping. If this parameter is not input, all logs will be shipped.

Sample No Integer

Sampling ratio in permille. Value range: 1-1000. For example, 605 indicates a sampling ratio of 60.5%. If this parameter is not input, the sampling ratio is 100%.

LogFormat No LogFormat

Output format for log delivery. For usage details, see Custom Log Output Format. If left blank, the default format applies. The default format logic is as follows:

  • When TaskType is 'custom_endpoint', the default format is an array of JSON objects, each JSON object represents a log entry;
  • When TaskType is 's3', the default format is JSON Lines;
Particularly, when TaskType is 'cls' or 'log_analysis', the only allowed value for LogFormat.FormatType is 'json', and other parameters in LogFormat will be ignored. It is recommended not to transfer LogFormat.

CLS No CLSTopic

Configuration information of CLS. This parameter is required when TaskType is cls.

CustomEndpoint No CustomEndpoint

Configuration information of the custom HTTP service. This parameter is required when TaskType is custom_endpoint.

S3 No S3

Configuration information of the AWS S3-compatible bucket. This parameter is required when TaskType is s3.

3. Output Parameters

Parameter Name Type Description
TaskId String

ID of the successfully created task.

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 log delivery task with EdgeOne log analytics as the destination

Create a log delivery task with the destination set to EdgeOne Log Analytics. Deliver data for the L7 access logs generated by domain.example.com in the Chinese mainland, with fields included such as RequestID, ClientIP, and RequestTime. Configure the sampling ratio to 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-2z55fgysdtmc",
    "TaskName": "test_log_task",
    "TaskType": "log_analysis",
    "EntityList": [
        "domain.example.com"
    ],
    "LogType": "l7-access-logs",
    "Area": "mainland",
    "Fields": [
        "RequestID",
        "ClientIP",
        "RequestTime"
    ],
    "Sample": 605
}

Output Example

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

Example2 Create a log delivery task with AWS S3-compatible bucket as the destination, delivering L7 access logs generated for domain.example.com within the Chinese mainland

Create a log delivery task with the destination as an AWS S3-compatible bucket. Deliver data for L7 access logs generated by domain.example.com in the Chinese mainland, where the final security handling method is interception or challenge. Fields included are RequestID, ClientIP, and RequestTime. Log sampling is disabled, log delivery compression is enabled, and the custom request header Vendor is carried during log delivery with a constant value of EdgeOne. The bucket selected is Tencent Cloud's COS.

Input Example

POST / HTTP/1.1
Host: teo.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateRealtimeLogDeliveryTask
<Common request parameters>

{
    "ZoneId": "zone-2z55fgysdtmc",
    "TaskName": "test_log_task",
    "TaskType": "s3",
    "EntityList": [
        "domain.example.com"
    ],
    "LogType": "l7-access-logs",
    "Area": "mainland",
    "Fields": [
        "RequestID",
        "ClientIP",
        "RequestTime"
    ],
    "CustomFields": [
        {
            "Name": "ReqHeader",
            "Value": "Accept-Language",
            "Enabled": true
        }
    ],
    "Sample": 605,
    "S3": {
        "Endpoint": "https://example.cos.ap-guangzhou.myqcloud.com",
        "Region": "ap-guangzhou",
        "Bucket": "example-bucket-4-1310765013/example-4-1310765013/logs/EdgeOne/test",
        "CompressType": "",
"AccessId": "Your bucket access key ID"
"AccessKey": "Your bucket access KEY K"
    }
}

Output Example

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

Example3 Creating a Log Delivery Task with the Destination Set to Tencent Cloud CLS

Create a log delivery task with the destination set to Tencent Cloud CLS. The data delivered ranges from the L7 access logs generated by domain.example.com in the Chinese mainland. Fields included are RequestID, ClientIP, RequestTime, the field value extracted from the Accept-Language request header, and the field named content_type using a custom expression. Configure the sampling ratio as 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-2z55fgysdtmc",
    "TaskName": "test_log_task",
    "TaskType": "cls",
    "EntityList": [
        "domain.example.com"
    ],
    "LogType": "l7-access-logs",
    "Area": "mainland",
    "Fields": [
        "RequestID",
        "ClientIP",
        "RequestTime"
    ],
    "CustomFields": [
        {
            "Name": "ReqHeader",
            "Value": "Accept-Language",
            "Enabled": true
        }
    ],
    "CustomExpressionFields": [
        {
            "Name": "content_type",
            "Expression": "${http.request.headers[\"Content-Type\"]}"
        }
    ],
    "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"
    }
}

Example4 Creating a log delivery task with the destination set to a custom HTTP service

Create a log delivery task with the destination set to a custom HTTP service. The data scope is Layer 7 Access Logs generated for domain.example.com within the Chinese mainland, where the final security handling method is interception or challenge. The fields included are RequestID, ClientIP, and RequestTime. Log sampling is disabled, log delivery compression is enabled, and the custom request header Vendor is set to the constant value of EdgeOne 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-2z55fgysdtmc",
    "TaskName": "test_log_task",
    "TaskType": "custom_endpoint",
    "EntityList": [
        "domain.example.com"
    ],
    "LogType": "l7-access-logs",
    "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 Code Description
FailedOperation Operation failed.
FailedOperation.CreateClsLogSetFailed Failed to create the log set. Check whether the log set name already exists.
FailedOperation.CreateClsLogTopicTaskFailed Failed to create the log topic task. Check whether the log topic name or task name already exists.
FailedOperation.CreateLogTopicTaskAuthFailure Authentication failed while creating a custom push task. Check whether the push address is correct.
FailedOperation.RealtimeLogAuthFailure The real-time log authentication failed.
FailedOperation.RealtimeLogNotFound The real-time log push task does not exist.
InvalidParameter Parameter error.
InvalidParameter.InvalidLogFormatFieldDelimiter The field separator in the log output format is incorrect.
InvalidParameter.InvalidLogFormatFormatType The log output format type is incorrect.
InvalidParameter.InvalidLogFormatRecordDelimiter The log record separator in the log output format is incorrect.
InvalidParameter.RealtimeLogEntityAlreadyCreated The push instance has been created.
InvalidParameter.RealtimeLogInvalidDeliveryArea The log push region is invalid.
InvalidParameter.RealtimeLogInvalidLogType The log push type is invalid.
InvalidParameter.RealtimeLogInvalidTaskType The real-time log delivery type is invalid.
InvalidParameter.RealtimeLogNumsExceedLimit The real-time log push task data exceeded the limit.
InvalidParameterValue Invalid parameter value.
LimitExceeded The quota limit has been reached.
LimitExceeded.CustomLogFieldRegexLimitExceeded The number of regular expression type fields in real-time log custom fields exceeds the limit.
OperationDenied Operation denied.
ResourceNotFound The resource doesn’t exist.
ResourceUnavailable The resource is unavailable.
UnauthorizedOperation.NoPermission The sub-account is not authorized for the operation. Please get permissions first.

Bantuan dan Dukungan

Apakah halaman ini membantu?

masukan