如何解决DynamoDb 写入批处理,[WARN] (invoke@invoke.c:331 errno: No such file or directory) run_dotnet(dotnet_path, &args) failed
我尝试将批处理写入 aws DynamoDb。 批处理包含 15-20k 个元素,数据基于 30-40MB txt 文件。 当我发送小于 14k 元素的小批量时,DynamoDb 会保存数据并且一切正常。 当我批量发送 15-20k 个元素时,lambda 会进行多次重试。 在该 lambda 发送错误之后: [WARN] (invoke@invoke.c:331 errno: No such file or directory) run_dotnet(dotnet_path,&args) 失败
我使用 c# sdk 并且在 ExecuteAsync 方法上出现崩溃。 我尝试使用 try..catch.. 来查看更有意义的内容,但我没有捕获异常。 我想知道什么消息:“没有这样的文件或目录”是什么意思。 对于这种消息异常,Google 没有给我答案。 我想知道 DynamoDb 可能有一些限制,但我很难看出我试图超过什么限制。 崩溃文件并不小,这可能是原因。
请帮忙。
解决方法
在单个批处理请求中可以写入的数据量总是有限制的。
检查此文档https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
,我尝试了很多东西,最后我发现 Lambda 中的内存大小有问题。我增加了 MB 并且它起作用了。 Lambda 消息在发生时不太清楚。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。