I'l*_*ack 2 amazon-web-services aws-lambda aws-step-functions
我在 AWS 文档中找不到我想要的任何答案。
是否可以执行 100,000 个(大约)Step Functions 并且状态等待 3 个月?等待状态每30分钟检查一次,否则2个月后退出状态。
等待状态将执行 lambda 函数 - 它将在继续下一个状态之前检查字段 (dynamodb) 是否匹配条件。
我想知道有没有什么限制?
如果 WAIT 状态不是好方法,有什么替代方法?
是的,您的状态机 (SM)Wait状态最多可以等待 1 年。然而,您打算运行两个月的 SM 数量将是一个非常昂贵的解决方案。
您打算运行 100,000 个 SM,每个 SM 的等待状态将每 30 分钟后执行一次 lambda。有可能所有 100,000 个 SM 都运行了两个月。
假设所有 SM 运行 2 个月,交易总数将为:
1 SM = 每天 96 笔交易(等待 Lambda,Lambda 等待)。5760 transactions in 2 months每SM。
100,000 SM = 5760 * 100,000 = 576000000 transactions
First 4000 transactions are free so total transactions = 576000000 - 4000 = 575996000
Run Code Online (Sandbox Code Playgroud)
前 4000 笔交易后每笔交易 0.000025 美元:
575996000 * 0.000025 = $14399.9 in two months.
Run Code Online (Sandbox Code Playgroud)
$0.000025 是最便宜的,根据您所在的地区,价格可能会更高。
此外,还存在每个 SM 执行历史记录达到25,000 次限制的风险。
我建议使用CloudWatch 计划事件每 30 分钟运行一次 Lambda以验证 DynamoDB 表中的字段,或使用DynamoDB 流触发 Lambda 进行字段验证。一旦状态匹配,您就可以执行 SM。两者都比阶跃函数便宜。
| 归档时间: |
|
| 查看次数: |
7702 次 |
| 最近记录: |