gpt4 book ai didi

amazon-web-services - Amazon Kinesis 1 MB 大小限制解决方法

转载 作者:行者123 更新时间:2023-12-04 01:49:50 24 4
gpt4 key购买 nike

AWS documentation 中所述

The maximum size of the data payload of a record before base64-encoding is up to 1 MiB.



因为我需要处理大小可能大于 1 MB 的记录,所以这个限制可能是一个问题。

是否有任何解决方法可以克服此限制?如果任何人已经实现和使用了任何经过验证的解决方案? (我想避免“重新发明轮子”)

最佳答案

您有两种选择:将有效负载分成多条记录或将其保存在流之外,例如在 S3 中。

对于第一个选项,您可以使用 PartitionKeySequenceNumberForOrdering ( doc )。为每个源记录分配一个唯一的分区键(例如 UUID)。如果您需要将源分成小于 1MB 的块,则将块 2..N 的序列号设置为前一个块的返回序列号。

这将要求客户端检查检索到的记录的分区键,并在必要时重建原始记录。请注意,它们可能需要缓冲多个块(用于不同的源记录)。

外部化数据将简化生产者和消费者代码。同样,为每个源记录创建一个唯一标识符,而不是将记录写入流,而是使用该标识符作为其键将其写入 S3。然后将 key 写入流。当消费者从流中读取 ID 时,它将从 S3 中检索实际数据。

第二种方法确实需要更多的管理:您需要向 S3 添加生命周期规则以删除记录,并且您需要确保此生命周期规则让对象至少与流的保留期一样长(我可能会设置一个 8 天的 TTL,而不考虑流保留期,因为 S3 很便宜)。

如果您只有很少的大记录,特别是如果您有很多小记录,那么将所有内容写入 S3 将是低效的。在这种情况下,您可以采用混合模型,在该模型中,您将数据结构写入包含实际数据或对外部存储的引用的流中。

关于amazon-web-services - Amazon Kinesis 1 MB 大小限制解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53671848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com