tencent cloud

Feedback

CreateRealtimeLogDeliveryTask

Last updated: 2024-04-29 16:21:26

1. API Description

Domain name for API request: teo.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 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 Zone ID.
TaskName Yes String The name of the real-time log delivery task, which is a combination of numbers, English letters, - and _, containing up to 200 characters.
TaskType Yes String The type of the real-time log delivery task. Valid values:
  • cls: Push to Tencent Cloud CLS;
  • custom_endpoint: Push to a user-defined HTTP(S) address;
  • s3: Push to an AWS S3-compatible bucket address.
  • EntityList.N Yes Array of String The list of entities (Layer 7 domains or Layer 4 proxy instances) corresponding to the real-time log delivery task. Valid value examples:
  • Layer 7 domain: domain.example.com;
  • Layer 4 proxy instance: sid-2s69eb5wcms7.

  • Reference for values
    DescribeAccelerationDomains
    DescribeApplicationProxies
    LogType Yes String The type of data delivery. Valid values:
  • domain: Site acceleration log;
  • application: Layer 4 proxy log;
  • web-rateLiming: Rate limit and CC attack defense log;
  • web-attack: Managed rule log;
  • web-rule: Custom rule log;
  • web-bot: Bot management log.
  • Area Yes String The data delivery area. Valid values:
  • mainland: Within the Chinese mainland;
  • overseas: Global (excluding the Chinese mainland).
  • Fields.N Yes Array of String The list of predefined fields for delivery.
    CustomFields.N No Array of CustomField The list of custom fields for delivery, supporting extracting specified field values from HTTP request headers, response headers, and cookies. Each custom field name must be unique and the maximum number of fields is 200.
    DeliveryConditions.N No Array of DeliveryCondition Log delivery filter conditions. If this field is not filled in, all logs will be delivered.
    Sample No Integer The sampling ratio in permille. Value range: 1 to 1000. For example, 605 represents a sampling ratio of 60.5%. If this field is not filled in, the sampling ratio is 100%.
    CLS No CLSTopic The configuration information of CLS. This parameter is required when TaskType is cls.
    CustomEndpoint No CustomEndpoint The configuration information of the custom HTTP service. This parameter is required when TaskType is custom_endpoint.
    S3 No S3 The 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 The 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 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.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.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 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
    InvalidParameter.InvalidLogFormatFormatType
    InvalidParameter.InvalidLogFormatRecordDelimiter
    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.
    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.
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support