我正在尝试从SQL读取所有消息,聚合所有这些消息并使用lambda Java SDK将它们作为单个JSON文件存储到S3存储桶?
以下步骤涉及我的实施
现在我陷入第3步,因为AWS在读取SQS消息时跨越多个lambda实例,因此我无法在一个ArrayList聚合收到的消息,我是否应该使用Dynamo DB聚合所有消息并创建单个JSON文件并存储在S3桶中?
请提出解决方案以解决此问题
谢谢,漂亮
你的用例更适合Kinesis Stream
流本质上是一个队列,但有一些重要的区别,主要是在您的场景中,这些差异是Lambda可以从Kinesis获取的批量大小上限为10000事件或6mb,而不是像SQS中的10个事件。您只需创建一个带有1个分片的Kinesis流,这意味着只有1个Lambda将运行,它将同步读取数据。如果你这样做,那么你不必小批量地读取SQS,也不必担心多个Lambda实例