在S3上存储小文件能不能append?

0

我们想将服务日志存储到s3上,但是这些日志很碎片,有可能非常小。如果使用put接口,会产生很多碎片,不方便进行读取。有没有比较好的接口或者其他服务可以使用?我这边主要的是进行归档,查的话比较少,有问题再会去分析。所以带来的问题是 日志产生不连续,每次训练会产生比较碎片化的日志,怕直接用s3的存储 会产生很多小的日志, 不利于出现问题的时候 进行读取,有没有一种方式可以将这些日志进行append

已提问 1 年前379 查看次数
1 回答
1

这个需要深入了解一下存储log后使用的方式,比如只是进行archive,那其实后续不会有很多其他操作。看问题里面说读取,则通常是为了查询,这个时候建议通过更好的方式去做,比如opensearch, log hub这样现成的形式,如果单独读取肯定还是相对复杂。

需要解释一下,1. S3提供的是一个存储,主要的目的是存,所以不建议对文件进行append、modify这样的操作。2. 针对这个问题,可以在后端对日志整理的时候进行合并,再存s3 甚至glacier,或者是前端日志生成的阶段设置稍大的间隔,减少文件过于小的问题。

S3 不支持 append 操作。建议本地日志存储到 一定量 再上传 S3;或者写个脚本来合并碎片文件;或者使用 firehose 流保存日志,firehose 可以设置缓存大小来控制 S3 文件的大小。

已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则