全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

API上传数据

最近更新时间:2021-11-29 19:29:21

简介

日志服务KLog产品为用户提供数据上传的API,API文档详见Putlogs。接下来介绍如何把原始日志数据序列化成如下格式的Protocol Buffer数据流,然后才能通过API写入服务端。

步骤一、定义Protocol格式

按照如下格式,生成一个klog.proto文件

syntax = "proto3";
package klog;

message Log
{
    message Content
    {
        required string key   = 1; // 每组字段的 key
        required string value = 2; // 每组字段的 value
    }
    required int64 time = 1; // 时间戳,UNIX时间格式
    repeated Content contents = 2; // 一条日志里的多个kv组合
}
message LogGroup
{
    repeated Log    logs        = 1; // 多条日志合成的日志数组
    optional string reserved    = 2; // 目前暂无效用
    optional string filename    = 3; // 日志文件名
    optional string source      = 4; // 日志来源,一般使用机器IP
}

  • 说明:关于Protocol Buffer格式的更多信息请参见Github首页

步骤二、编译Protocol Buffers

根据上面的内容,定义数据的报文格式后,运行Protocol Buffer编译器,把上面的klog.proto文件编译成特定语言的类。这些类提供了简单的方法访问每个字段,像是访问类的方法一样将结构序列化或反序列化。

  • 说明:如需安装编译器,可前往Protobuf版本页选择版本和语言。

这里使用proto编辑器生成Java语言的文件,在klog.proto文件的同一目录下,执行如下编辑命令

 protoc.exe --java_out=./ klog.proto  
  • 说明:–java_out=./表示编译成 Java 格式并输出当前目录下,./klog.proto表示位于当前目录下的 klog.proto 描述文件。

编辑成功后,输出对应语言的代码文件,这里会生成klog.java文件。

步骤三、调用

将生成的klog.Java和klog.proto文件复制到工程目录下参与编译就可以。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈