POST /structuredlog?topic_id=xxxxxxxx-xxxx-xxxx-xxxx HTTP/1.1Host: <Region>.cls.tencentyun.comAuthorization: <AuthorizationString>Content-Type: application/x-protobuf<LogGroupList 的 PB 格式打包内容>
${region}.cls.tencentyun.com
,内网域名仅对同地域访问生效,即云服务器或云产品通过内网域名访问相同地域的日志服务。${region}.cls.tencentcs.com
,访问源端接入 Internet 网后,正常情况均能访问日志服务外网域名。ap-beijing - 北京ap-shanghai - 上海ap-guangzhou - 广州ap-chengdu - 成都...
POST /structuredlog?topic_id=xxxxxxxx-xxxx-xxxx-xxxx HTTP/1.1Host: <Region>.cls.tencentyun.comAuthorization: <AuthorizationString>Content-Type: application/x-protobufx-cls-hashkey: xxxxxxxxxxxxxxxxxxxxxxxx<LogGroupList 的 PB 格式打包内容>
POST /structuredlog?topic_id=xxxxxxxx-xxxx-xxxx-xxxx HTTP/1.1Host: <Region>.cls.tencentyun.comAuthorization: <AuthorizationString>Content-Type: application/x-protobufx-cls-compress-type:lz4<LogGroupList 的 PB 格式压缩包内容>
POST /structuredlog?topic_id=xxxxxxxx-xxxx-xxxx-xxxx HTTP/1.1Host: <Region>.cls.tencentyun.comAuthorization: <AuthorizationString>Content-Type: application/x-protobuf<LogGroupList 的 PB 格式打包内容>
POST /structuredlog
字段名 | 类型 | 位置 | 是否必须 | 含义 |
x-cls-hashkey | string | header | 否 | 根据 hashkey 写入相应范围的主题分区 |
字段名 | 类型 | 位置 | 必须 | 含义 |
topic_id | string | query | 是 | |
logGroupList | message | pb | 是 | logGroup 列表,封装好的日志组列表内容,建议 logGroup 数量不要超过5个 |
字段名 | 是否必选 | 含义 |
logs | 是 | 日志数组,表示有多个 Log 组成的集合,一个 Log 表示一条日志,一个 LogGroup 中 Log 个数不能超过10000 |
contextFlow | 否 | 保持上下文的 UID,该字段目前暂无效用 |
filename | 否 | 日志文件名 |
source | 否 | 日志来源,一般使用机器 IP 作为标识 |
logTags | 否 | 日志的标签列表 |
字段名 | 是否必选 | 含义 |
time | 是 | 日志时间(Unix 格式时间戳),支持秒、毫秒,建议采用毫秒 |
contents | 否 | key-value 格式的日志内容,表示一条日志里的多个 key-value 组合 |
字段名 | 是否必选 | 含义 |
key | 是 | 单条日志里某个字段组的 key 值,不能以 _ 开头 |
value | 是 | 单条日志某个字段组的 value 值,单条日志 value 不能超过1MB,LogGroup 中所有 value 总和不能超过5MB |
字段名 | 是否必选 | 含义 |
key | 是 | 自定义的标签 key |
value | 是 | 自定义的标签 key 对应的 value 值 |
HTTP/1.1 200 OKContent-Length: 0
protobuf-2.6.1.tar.gz
压缩包至/usr/local
目录并进入该目录,执行命令如下:[root@VM_0_8_centos]# tar -zxvf protobuf-2.6.1.tar.gz -C /usr/local/ && cd /usr/local/protobuf-2.6.1
[root@VM_0_8_centos protobuf-2.6.1]# ./configure[root@VM_0_8_centos protobuf-2.6.1]# make && make install[root@VM_0_8_centos protobuf-2.6.1]# export PATH=$PATH:/usr/local/protobuf-2.6.1/bin
[root@VM_0_8_centos protobuf-2.6.1]# protoc --versionliprotoc 2.6.1
.proto
结尾。package cls;message Log{message Content{required string key = 1; // 每组字段的 keyrequired string value = 2; // 每组字段的 value}required int64 time = 1; // 时间戳,UNIX时间格式repeated Content contents = 2; // 一条日志里的多个kv组合}message LogTag{required string key = 1;required string value = 2;}message LogGroup{repeated Log logs = 1; // 多条日志合成的日志数组optional string contextFlow = 2; // 目前暂无效用optional string filename = 3; // 日志文件名optional string source = 4; // 日志来源,一般使用机器IPrepeated LogTag logTags = 5;}message LogGroupList{repeated LogGroup logGroupList = 1; // 日志组列表}
protoc --cpp_out=./ ./cls.proto
--cpp_out=./
表示编译成 cpp 格式并输出当前目录下,./cls.proto
表示位于当前目录下的 cls.proto 描述文件。[root@VM_0_8_centos protobuf-2.6.1]# protoc --cpp_out=./ ./cls.proto[root@VM_0_8_centos protobuf-2.6.1]# lscls.pb.cc cls.pb.h cls.proto
本页内容是否解决了您的问题?