首页 > 解决方案 > 我们可以将压缩文件 (Gzip) 直接推送到 Kinesis Streams 中吗?

问题描述

我有一个 GZIP 文件,需要作为生产者推送到 kinesis。我不需要推送记录,我只需要将 gzip 文件推送到 Stream。可能吗?我在任何地方都没有看到任何文档。

标签: pythonamazon-web-servicesgzipamazon-kinesis

解决方案


在 Kinesis Streams 中,数据使用的单位称为Record。记录的一个组成部分是Data

数据块。对于 Kinesis Data Streams,Blob 中的数据既不透明又不可变,它不会以任何方式检查、解释或更改 Blob 中的数据。将数据 blob(base64 编码之前的有效负载)添加到分区键大小时,总大小不得超过最大记录大小 (1 MiB)。类型:Base64编码的二进制数据对象。

因此,当您将 GZIP 编码为 base64 并且其大小小于 1MB时,您可以将其推送到流中。

如果您的 GZIP 文件大于 1MB,则必须将其拆分为多个块,并将它们作为单独的记录注入。字符串的使用者需要从块中重建原始的较大文件。或者,例如,您可以将其存储在 S3 中,然后只需将指向 S3 中对象的链接推送到 Kinesis 中。


推荐阅读