Package | Description |
---|---|
com.tencentcloudapi.cls.v20201016 | |
com.tencentcloudapi.cls.v20201016.models |
Modifier and Type | Method and Description |
---|---|
UploadLogResponse |
ClsClient.UploadLog(UploadLogRequest req)
## 功能描述
本接口用于将日志写入到指定的日志主题。
日志服务提供以下两种模式:
#### 负载均衡模式
系统根据当前日志主题下所有可读写的分区,遵循负载均衡原则自动分配写入的目标分区。该模式适合消费不保序的场景。
#### 哈希路由模式
系统根据携带的哈希值(X-CLS-HashKey)将数据写入到符合范围要求的目标分区。例如,可以将某个日志源端通过 hashkey 与某个主题分区强绑定,这样可以保证数据在该分区上写入和消费是严格保序的。
此外日志服务还为用户提供以下两种不同的日志上传模式:
## 请求
#### 请求头业务参数
X-CLS-HashKey 请求头表示日志根据 hashkey 路由写入到 CLS 对应范围的主题分区,以保证写入到的每个主题分区是严格有序的,便于消费时有序消费。
| 字段名 | 类型 | 位置 | 是否必须 | 含义 |
| ------------------ | ------ | ------ | -------- | ------------------------------------------------------------ |
| X-CLS-HashKey | string | header | 否 | 根据 hashkey 写入相应范围的主题分区 |
| X-CLS-TopicId | String | header | 是 | 主题id | |
| Content-Type | String | header | 是 | 请求参数的协议类型, 目前只支持pb协议,填写 "application/octet-stream" |
| X-TC-Action | String | header | 是 | 公共参数,本接口取值:UploadLog。
| X-TC-Region | String | header | 是 | 公共参数,本接口不需要传递此参数。
| X-TC-Version | String | header | 是 | 公共参数,本接口取值:2020-10-16。
#### 输入参数(pb协议)
| 字段名 | 类型 | 位置 | 必须 | 含义 |
| ------------ | ------- | ---- | ---- | ------------------------------------------------------------ |
| logGroupList | message | pb | 是 | logGroup 列表,封装好的日志组列表内容,建议 logGroup 数量不要超过5个 |
LogGroup 说明:
| 字段名 | 是否必选 | 含义 |
| ----------- | -------- | ------------------------------------------------------------ |
| logs | 是 | 日志数组,表示有多个 Log 组成的集合,一个 Log 表示一条日志,一个 LogGroup 中 Log 个数不能超过10000 |
| contextFlow | 否 | LogGroup 的唯一ID,需要使用上下文功能时传入。格式:"{上下文ID}-{LogGroupID}"。
上下文ID:唯一标识一个上下文(连续滚动的一系列日志文件,或者是需要保序的一系列日志),16进制64位整型字符串。 LogGroupID:连续递增的一串整型,16进制64位整型字符串。样例:"102700A66102516A-59F59"。 | | filename | 否 | 日志文件名 | | source | 否 | 日志来源,一般使用机器 IP 作为标识 | | logTags | 否 | 日志的标签列表 | Log 说明: | 字段名 | 是否必选 | 含义 | | -------- | -------- | ------------------------------------------------------------ | | time | 是 | 日志时间(Unix 格式时间戳),支持秒、毫秒,建议采用毫秒 | | contents | 否 | key-value 格式的日志内容,表示一条日志里的多个 key-value 组合 | Content 说明: | 字段名 | 是否必选 | 含义 | | ------ | -------- | ------------------------------------------------------------ | | key | 是 | 单条日志里某个字段组的 key 值,不能以`_`开头 | | value | 是 | 单条日志某个字段组的 value 值,单条日志 value 不能超过1MB,LogGroup 中所有 value 总和不能超过5MB | LogTag 说明: | 字段名 | 是否必选 | 含义 | | ------ | -------- | -------------------------------- | | key | 是 | 自定义的标签 key | | value | 是 | 自定义的标签 key 对应的 value 值 | ## PB 编译示例 本示例将说明如何使用官方 protoc 编译工具将 PB 描述文件 编译生成为 C++ 语言可调用的上传日志接口。 > ?目前 protoc 官方支持 Java、C++、Python 等语言的编译,详情请参见 [protoc](https://github.com/protocolbuffers/protobuf)。 #### 1. |
Constructor and Description |
---|
UploadLogRequest(UploadLogRequest source)
NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
|
Copyright © 2021. All rights reserved.