0


我正在使用AWS LAMBDA创建一个函数来触发和处理插入DynamoDB表中的每个记录。

但是我最近注意到很多记录丢失了,没有被处理。例如,插入的每个50,000条记录,也许大约2000-3000会得到处理。:(

我还注意到,正在处理这个数了大约100-200慢慢增加,每5分钟记录或者等一段时间后我检查这个使用AWS命令行:
AWS dynamodb扫描--table-命名myDynamoTable - 选择“COUNT”

我使用的是默认设置来创建lambda函数是否有帮助。

这是LAMBDA功能相关的问题或MY拉姆达功能的配置?
有没有任何属性/设置我可以改变以改善其功能?
最后,如果最坏的情况出现了,我可以用什么作为Lambda函数的替代(可靠的)?我可以自己创建一个吗?

TIA。AWS lambda函数跳过DynamoDB记录

+0

你可以分享dynamodb流配置吗?你确定所有的物品都是新的插入物吗?是否可以删除所有项目并插入100个项目并查看会发生什么?需要调试它是流还是lambda问题?你是否同时插入所有5k项目? – notionquest

+0

@notionquest如何找到流配置?点击“管理流”按钮并启用它是我使用DynamoDB流的唯一体验。 :)我会检查并看到它如何行为,当我删除和插入项目像你建议的。你的意思是同时或连续快速连续插入5K项目? –

+0

尝试按顺序插入并检查结果。大约100到500个项目应该足够。 – notionquest

回答

1

DynamoDB扫描仅返回前1MB的数据。您需要重复使用LastEvaluatedKey值。

+0

这不是我的问题! –

+0

那么也许你应该改变你的问题。你如何验证记录是否正在处理?重新读你的问题是你使用发电机流触发lambda函数? – Robo

+0

是的,我正在使用DynamoDB Streams。我知道所有记录都没有从计数处理 - 插入记录的数量与处理后可用的记录数量。 –