如何根据上一步的结果配置 AWS StepFunction 流程?
How to configure AWS StepFunction flow based on the result of the previous step?
我有一个 StepFunction,第一步是在 Glue 中 运行 一些 Python 代码,然后生成一些数据并存储在 S3 存储桶中,然后下一步是查看这个文件并运行 一个 Lambda 函数。
我想在Glue python代码中打印出来,看看生成的文件是否为空,如果不为空,继续nest步骤。它是空的,跳过其余步骤,StepFunction 成功。我的问题是它有任何例子如何实现这一点?或者甚至可以像这样决定 StepFunction 流程? (所有 AWS 资源都由 Terraform 管理)谢谢。
是的,你完全可以这样做。尝试一种方法(流程图而不是实际的步骤函数),如下所示:
第一个 Lambda 函数将为您 运行 粘合工作。确保状态机知道输出位置。理想情况下,通过调用 lambda 函数将所需数据传递给 Glue Job。
第二个 lambda 函数将检查文件是否有数据和 return 状态,例如 {'data-availability-status': True}
或 {'data-availability-status': False}
第三个状态机是一个选择状态,它作用于 'data-availability-status' 从检查文件状态。如果状态为 True,它应该进入下一步,如果状态为 False,它应该正常退出。
我有一个 StepFunction,第一步是在 Glue 中 运行 一些 Python 代码,然后生成一些数据并存储在 S3 存储桶中,然后下一步是查看这个文件并运行 一个 Lambda 函数。
我想在Glue python代码中打印出来,看看生成的文件是否为空,如果不为空,继续nest步骤。它是空的,跳过其余步骤,StepFunction 成功。我的问题是它有任何例子如何实现这一点?或者甚至可以像这样决定 StepFunction 流程? (所有 AWS 资源都由 Terraform 管理)谢谢。
是的,你完全可以这样做。尝试一种方法(流程图而不是实际的步骤函数),如下所示:
第一个 Lambda 函数将为您 运行 粘合工作。确保状态机知道输出位置。理想情况下,通过调用 lambda 函数将所需数据传递给 Glue Job。
第二个 lambda 函数将检查文件是否有数据和 return 状态,例如 {'data-availability-status': True}
或 {'data-availability-status': False}
第三个状态机是一个选择状态,它作用于 'data-availability-status' 从检查文件状态。如果状态为 True,它应该进入下一步,如果状态为 False,它应该正常退出。