1. 接口描述
接口请求域名: teo.tencentcloudapi.com 。
通过本接口创建实时日志投递任务。本接口有如下限制:
同一个实体(七层域名或者四层代理实例)在同种数据投递类型(LogType)和数据投递区域(Area)的组合下,只能被添加到一个实时日志投递任务中。建议先通过 DescribeRealtimeLogDeliveryTasks 接口根据实体查询实时日志投递任务列表,检查实体是否已经被添加到另一实时日志投递任务中。
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateRealtimeLogDeliveryTask。 |
Version | 是 | String | 公共参数,本接口取值:2022-09-01。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
ZoneId | 是 | String | 站点 ID。 |
TaskName | 是 | String | 实时日志投递任务的名称,格式为数字、英文、-和_组合,最多 200 个字符。 |
TaskType | 是 | String | 实时日志投递任务类型,取值有: |
EntityList.N | 是 | Array of String | 实时日志投递任务对应的实体(七层域名或者四层代理实例)列表。取值示例如下: 取值可参考: 查询应用代理列表(旧) 查询加速域名列表 |
LogType | 是 | String | 数据投递类型,取值有: |
Area | 是 | String | 数据投递区域,取值有: |
Fields.N | 是 | Array of String | 投递的预设字段列表。 |
CustomFields.N | 否 | Array of CustomField | 投递的自定义字段列表,支持在 HTTP 请求头、响应头、Cookie、请求正文中提取指定内容。自定义字段名称不能重复,且最多不能超过 200 个字段。单个实时日志推送任务最多添加 5 个请求正文类型的自定义字段。目前仅站点加速日志(LogType=domain)支持添加自定义字段。 |
DeliveryConditions.N | 否 | Array of DeliveryCondition | 日志投递的过滤条件,不填表示投递全量日志。 |
Sample | 否 | Integer | 采样比例,采用千分制,取值范围为1-1000,例如:填写 605 表示采样比例为 60.5%。不填表示采样比例为 100%。 |
LogFormat | 否 | LogFormat | 日志投递的输出格式。不填表示为默认格式,默认格式逻辑如下: |
CLS | 否 | CLSTopic | CLS 的配置信息。当 TaskType 取值为 cls 时,该参数必填。 |
CustomEndpoint | 否 | CustomEndpoint | 自定义 HTTP 服务的配置信息。当 TaskType 取值为 custom_endpoint 时,该参数必填。 |
S3 | 否 | S3 | AWS S3 兼容存储桶的配置信息。当 TaskType 取值为 s3 时,该参数必填。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
TaskId | String | 创建成功的任务ID。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建目的地为腾讯云 CLS 的日志投递任务
创建目的地为腾讯云 CLS 的日志投递任务,投递数据范围为 domain.example.com 在中国大陆境内产生的站点加速日志,包含字段有 RequestID、ClientIP、RequestTime 以及从 Accept-Language 请求头中提取的字段值,配置采样比例为 60.5%。
输入示例
POST / HTTP/1.1
Host: teo.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateRealtimeLogDeliveryTask
<公共请求参数>
{
"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"
}
}
输出示例
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
示例2 创建目的地为自定义 HTTP 服务的日志投递任务
创建目的地为自定义 HTTP 服务的日志投递任务,投递数据范围为 domain.example.com 在中国大陆境内产生的、请求最终安全处置方式为拦截或挑战的站点加速日志,包含字段有 RequestID、ClientIP、RequestTime,不开启日志采样,开启日志投递压缩,并且在投递日志时携带自定义请求头 Vendor,值固定为 EdgeOne。
输入示例
POST / HTTP/1.1
Host: teo.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateRealtimeLogDeliveryTask
<公共请求参数>
{
"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"
}
]
}
}
输出示例
{
"Response": {
"TaskId": "26580056-1187-43ed-b2c7-ecdb5bae0b46",
"RequestId": "5e0a2b4e-df6d-4d2a-ac39-1706cbf8a703"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation | 操作失败。 |
FailedOperation.CreateClsLogSetFailed | 创建日志集失败,请检查日志集名是否已存在。 |
FailedOperation.CreateClsLogTopicTaskFailed | 创建日志主题任务失败,请检查日志主题名或任务名是否已存在。 |
FailedOperation.CreateLogTopicTaskAuthFailure | 创建自定义推送任务认证失败, 请检查推送地址是否正确。 |
FailedOperation.RealtimeLogAuthFailure | 实时日志认证失败 |
FailedOperation.RealtimeLogNotFound | 实时日志推送任务不存在 |
InvalidParameter | 参数错误。 |
InvalidParameter.InvalidLogFormatFieldDelimiter | 日志输出格式的字段分隔符不正确 |
InvalidParameter.InvalidLogFormatFormatType | 日志输出格式类型不正确 |
InvalidParameter.InvalidLogFormatRecordDelimiter | 日志输出格式的日志记录分隔符不正确 |
InvalidParameter.RealtimeLogEntityAlreadyCreated | 推送实例已经创建 |
InvalidParameter.RealtimeLogInvalidDeliveryArea | 日志推送地域不合法 |
InvalidParameter.RealtimeLogInvalidLogType | 日志推送类型不合法 |
InvalidParameter.RealtimeLogInvalidTaskType | 实时日志数据投递类型不合法 |
InvalidParameter.RealtimeLogNumsExceedLimit | 实时日志推送任务数据超过了限制 |
InvalidParameterValue | 参数取值错误。 |
LimitExceeded | 超过配额限制。 |
LimitExceeded.CustomLogFieldRegexLimitExceeded | 实时日志自定义字段正则类型字段数量超过限制 |
OperationDenied | 操作被拒绝。 |
ResourceNotFound | 资源不存在。 |
ResourceUnavailable | 资源不可用。 |
UnauthorizedOperation.NoPermission | 子账户没有操作权限,请添加权限后继续操作。 |