• 热门
  • 基础
  • 数据库
  • 安全
  • 大数据
  • 人工智能
  • 混合云
  • 开发与运维
  • 企业应用

应用服务

行业引擎

全部文档
当前文档

暂无内容

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

文档中心

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文件复制到工程目录下参与编译就可以。

纯净模式常规模式

纯净模式

点击可全屏预览文档内容

鼠标选中内容,快速反馈问题

如果在文档使用中出现问题,可选中有问题的部分进行快速反馈,我们将跟进处理。
不再提示
好的,我知道了

聆听反馈