我在AWS文档中找不到任何答案。
是否可以执行100,000(大约)步功能,并且状态一直等待到3个月?等待状态每30分钟检查一次,否则将在2个月后退出状态。
等待状态将执行lambda函数-在进行下一个状态之前,它将检查字段(dynamodb)是否符合条件。
我想知道是否有任何限制?
如果WAIT状态不是一个好的方法,那么有什么替代方法?
答案 0 :(得分:4)
是的,您的状态机(SM)Wait
状态最多可以等待1年。但是,您打算运行两个月的SM数量将是一个非常昂贵的解决方案。
您打算运行100,000个SM,并且每个SM的“等待”状态将每30分钟执行一次lambda。所有100,000个SM都有可能运行两个月。
假设所有SM都运行了2个月,则交易总数为:
1 SM =每天96笔交易(等待Lambda,等待Lambda)。每个SM 5760 transactions in 2 months
。
100,000 SM = 5760 * 100,000 = 576000000 transactions
First 4000 transactions are free so total transactions = 576000000 - 4000 = 575996000
前4000次后每笔交易$ 0.000025:
575996000 * 0.000025 = $14399.9 in two months.
$ 0.000025是cheapest,根据您所在的地区,可能会更高。
每个SM执行历史都可能触及limit of 25,000。
我建议每30分钟使用CloudWatch schedule event to run a Lambda验证DynamoDB表中的字段,或使用DynamoDB streams触发Lambda进行字段验证。状态匹配后,即可执行SM。两者都比步进功能便宜。
答案 1 :(得分:1)
Executions can exist for up to 1 year(根据AWS文档)。每个帐户的最大执行次数为1,000,000。