AWS Step 函数处理来自 lambda 的输出

问题描述

我有一个 AWS step 函数需要依次调用 3 个 lambda,但是在每次调用结束时,step 函数需要处理来自 lambda 的响应,并确定下一个 lambda 调用

那么阶跃函数如何处理来自 lambda 的响应呢?你能举个例子吗?

解决方法

有两种方法可以从阶跃函数中捕获 lambda 函数的响应。

  1. 使用 add_retryadd_catch 处理来自 lambda 函数的任何异常 例如。
            .start(record_ip_task
                   .add_retry(errors=["States.TaskFailed"],interval=core.Duration.seconds(2),max_attempts=2)
                   .add_catch(errors=["States.ALL"],handler=notify_failure_job)) \
  1. 来自 lambda 函数的响应值,例如 return '{"Result": True} 然后步骤函数作业将为下一个任务检查该值,例如。
                            .next(
                                is_block_succeed
                                    .when(step_fn.Condition.boolean_equals('$.Result',False),notify_failure_job)
                                    .otherwise(send_slack_task)
                            )

参考:https://dev.to/vumdao/aws-guardduty-combine-with-security-hub-and-slack-17eh https://github.com/vumdao/aws-guardduty-to-slack