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.
-When the data delivery type (LogType) is site acceleration log (Layer 7 Access Logs), L4 proxy logs, or edge function logs, an entity (L7 domain, L4 proxy instance, or edge function instance) under the same combination of data delivery type (LogType) and data delivery area (Area) can only be added to the following real-time log delivery task type (TaskType) combinations:.
-A task to push to Tencent Cloud CLS, add another task to push to a custom HTTP(S) address;.
-A task to push to Tencent Cloud CLS, add another task to push to AWS S3-compatible Cloud 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 same combination of 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 the data delivery type (LogType) as site acceleration log (domain). Under the combination of the same site (ZoneId) and data delivery area (Area), you can only add one real-time log delivery task for EdgeOne log analysis.
This API is used to query the real-time log delivery task list based on the entity to check whether the entity has been added to another real-time log delivery task. It is advisable to use the DescribeRealtimeLogDeliveryTasks API first.
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: 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 | 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:. |
| EntityList.N | Yes | Array of String | Entity list corresponding to the real-time log delivery task. example values:. Reference for values DescribeL4Proxy DescribeAccelerationDomains DescribeFunctions |
| LogType | Yes | String | Data delivery type. valid values:. |
| Area | Yes | String | Data area. Valid values: |
| Fields.N | Yes | Array of String | Predefined fields for delivery. valid values:. |
| CustomFields.N | No | Array of CustomField | The 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.N | No | Array of DeliveryCondition | Filter criteria of log delivery. If this parameter is not specified, all logs will be delivered. |
| 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 specified, the sampling ratio is 100%. |
| LogFormat | No | LogFormat | Output format for log delivery. if this field is not specified, the default format is used, which works as follows:. |
| CLS | No | CLSTopic | Configuration information of CLS. This parameter is required when TaskType is cls. |
| CustomEndpoint | No | CustomEndpoint | Configuration information of the custom HTTP endpoint. 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 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, deliver data for site acceleration logs generated by domain.example.com in Chinese mainland, with fields included such as RequestID, ClientIP, RequestTime, and field value extracted from request header Accept-Language, and 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": "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, deliver data with the range of site acceleration log generated by domain.example.com in Chinese mainland with final security handling method as interception or challenge, fields included are RequestID, ClientIP, RequestTime, log sampling is disabled, log delivery compression is enabled, and custom request header Vendor carried during log delivery with constant value of EdgeOne.
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": "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"
}
}
Example3 Creating a Log Delivery Task with AWS S3-Compatible Bucket As Destination, Delivering Site Acceleration Logs Generated for domain.example.com in Chinese Mainland, Fields Included: RequestID, ClientIP, RequestTime, and Accept-Language
This example shows you how to create a log delivery task with AWS S3-compatible bucket as destination, delivering site acceleration logs generated for domain.example.com in Chinese mainland with final security handling method as interception or challenge. Fields included: RequestID, ClientIP, RequestTime. Log sampling is disabled, log delivery compression is enabled, and custom request header Vendor carried during log delivery with 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": "domain",
"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 KEY"
}
}
Output Example
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
Example4 Creating a Log Delivery Task with EdgeOne Log Analytics As the Destination
This example shows you how to create a log delivery task with EdgeOne Log Analytics as destination, delivering site acceleration logs generated for domain.example.com in Chinese mainland, fields included: RequestID, ClientIP, RequestTime, and field value extracted from Accept-Language request header, with sampling ratio set 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": "domain",
"Area": "mainland",
"Fields": [
"RequestID",
"ClientIP",
"RequestTime"
],
"CustomFields": [
{
"Name": "ReqHeader",
"Value": "Accept-Language",
"Enabled": true
}
],
"Sample": 605
}
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.
- 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.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. |
- 1. API Description
- 2. Input Parameters
- 3. Output Parameters
- 4. Example
- Example1 Creating a Log Delivery Task with the Destination Set to Tencent Cloud CLS
- Example2 Creating a Log Delivery Task with the Destination Set to a Custom HTTP Service
- Example3 Creating a Log Delivery Task with AWS S3-Compatible Bucket As Destination, Delivering Site Acceleration Logs Generated for domain.example.com in Chinese Mainland, Fields Included: RequestID, ClientIP, RequestTime, and Accept-Language
- Example4 Creating a Log Delivery Task with EdgeOne Log Analytics As the Destination
- 5. Developer Resources
- SDK
- Command Line Interface
- 6. Error Code