开发者社区> 问答> 正文

OSS如何投递到JSON存储?

本文档主要介绍日志服务投递OSS使用JSON存储的相关配置,关于投递日志到OSS的其它内容请参考 投递日志到 OSS
OSS文件压缩类型及文件地址见下表。

压缩类型文件后缀OSS文件地址举例
不压缩oss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937
snappy.snappyoss://oss-shipper-shenzhen/ecs_test/2016/01/26/20/54_1453812893059571256_937.snappy


不压缩


Object由多条日志拼接而成,文件的每一行是一条JSON格式的日志,样例如下:
[size=; font-size: 12pt,12pt] [font='YaHei Consolas Hybrid']1. [size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']{[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"__time__"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']1453809242[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"__topic__"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']""[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"__source__"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"10.170.148.237"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"ip"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"10.200.98.220"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"time"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"26/Jan/2016:19:54:02 +0800"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"url"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"status"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"200"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid'],[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"user-agent"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']:[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']"aliyun-sdk-java"[size=; font-size: 8pt,8pt] [font='YaHei Consolas Hybrid']}[size=;font-size:11.0000pt,11.0000pt]

snappy压缩


采用 snappy 官网 的 C++ 实现(Snappy.Compress 方法),对 none 格式数据做文件级别的压缩得到。对 .snappy 文件解压缩后即可得到对应的 none 格式文件。

使用 C++ Lib 解压缩


snappy 官网 右侧下载 Lib,执行 Snappy.Uncompress 方法解压。

使用 Java Lib解压缩


xerial snappy-java,可以使用 Snappy.Uncompress 或 Snappy.SnappyInputStream(不支持 SnappyFramedInputStream)。


[backcolor=transparent]注意:1.1.2.1 版本存在 bug 可能无法解压部分压缩文件,至 1.1.2.6 版本修复。

Snappy.Uncompress



Linux 环境解压工具


针对 Linux 环境,我们提供了可以解压 snappy 文件的工具,点击下载 snappy_tool

展开
收起
轩墨 2017-10-23 10:37:22 2796 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载