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.
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:
|
| LogType | Yes | String | Data delivery type. Available values:
The following types of logs are merged into l7-access-logs and no longer support adding:
|
| 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 | List of entities corresponding to real-time log delivery tasks. Example values:
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. |
| 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. |
| 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:
|
| 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. |
| 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. |
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%.
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
}
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
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.
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"
}
}
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
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%.
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"
}
}
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
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.
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"
}
]
}
}
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.
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. |
文档反馈