我的场景如下:
当一个事件发生时,需要并行执行几个进程。
一个阶跃函数似乎是理想的:
例如
Event received:
- Parallel 1 - Send an SMS message
- Parallel 2 - Send an email
- Parallel 3 - Write data to a database
Gather all completed results to determine success / failure.
但是,根据事件的类型,我可能只想执行其中的几个过程。
例如:传入的客户数据不包含电子邮件地址,因此我们希望跳过电子邮件过程。
步骤功能是否有方法根据初始事件的类型启用、禁用某些并行过程?
以下是两种将是-否决策逻辑应用于每个并行分支的方法:
- 在每个并行分支的开头添加一个双分支Choice State。例如,与
{"Variable": "$.email", "IsPresent": true}
匹配的有效载荷继续到Parallel 2
分支,但在其他方面绕过它 - 使用SDK在Lambdas中执行并行任务。在每个Lambda的开头使用分支逻辑来决定是否处理有效负载