【发布时间】:2018-03-11 15:34:07
【问题描述】:
我的 DynamoDB 数据库中每个用户大约有 300,000 个事务。
如果这是最便宜的方式,我想以无服务器方式根据这些交易计算税费。
我的想法是,我应该使用 AWS Step Functions 来获取所有事务,将它们存储到 Amazon S3 中,然后使用 AWS Step Functions 遍历 CSV 文件中的每一行。问题是,一旦我在 CSV 中读取了一行,我就必须将它存储在内存中,以便我可以将其用于以后的计算。如果这个 Lambda 函数超时了,那么我没有办法保存状态,所以这条路线是不合理的。
另一个代价高昂的方法是在 DynamoDB 中为每个事务创建两个副本,并在副本表上执行操作,保持原始数据不变。这样做的问题是 DynamoDB 表最终是一致的,并且可能存在我读取脏项的情况。
【问题讨论】:
-
这就是 AWS Batch 的用途。
-
@JakubKania 这不能解决内存问题,AWS Batch 更像是一个协调器。感谢您的工具,我会看看我是否可以围绕它定制一些东西
标签: amazon-web-services amazon-s3 aws-lambda serverless