我有两个 lambdas
和一个 SQS
队列。第一个 lambda 的目的是从 aurora MySQL
中选择产品 ID 并发送到 SQS
。有超过 700 万个产品 ID。当第一个 lambda 将这些产品 ID 发送到 SQS 时,我启用了一个触发器来调用我的第二个 lambda。
我面临的问题是,由于 lambda 的时间限制,我的第一个 lambda 无法在 1 次调用中将所有产品 ID 发送到队列。我对其进行了测试,对于 1 次调用,它只能向 SQS 发送 100k 条记录。如果我再次运行它,它显然会再次选择相同的产品 ID。即使我在我的 lambda 中设置了限制和偏移量,然后在第一次调用之后我也必须更改偏移量以选择下一个 100k 记录,这有点乏味。我怎样才能自动化这个过程?
答案 0 :(得分:1)
您是否尝试向 s3 写入一个 csv 文件,该文件存储您发送给 SQS 的最新索引/产品 ID,您最终将在下一次 lambda 迭代开始时访问该文件?
以下是这些步骤的粗略实现: