AWS CDK:从 Step Function 捕获所有错误

问题描述 投票:0回答:1

我正在 CDK 中开发一个 Step Function,它主要是一个 Lambda 链;

lambda_1
      .next(lambda_2)
      .next(lambda_3)
      .next(lambda_4)
      .next(lambda_5)

每当任何 Lambda 抛出错误(已处理或未处理)时,我都需要能够记录错误,我打算在另一个 Lambda 中执行此操作,因为我需要执行一些清理。现在,我可以通过从 Step-Function-Failed 事件触发 Lambda 来完成此操作,但为了可见性,我宁愿将日志记录保留为 Step Function 中的一个步骤。我已经查看了文档,找不到可用

addCatch
方法的通用位置。

有没有办法在CDK中的Step Function中添加catch来捕获所有步骤抛出的错误?

typescript aws-lambda aws-cdk aws-step-functions
1个回答
0
投票

您无法直接为所有状态设置“全局”catch,但可以通过将所有任务状态的 catch 处理程序指向相同的回退状态来实现相同的结果。

这在 CDK 中很容易。您的

LambdaInvoke
任务有一个 addCatch 方法,它们继承自 TaskStateBase:

myTasks.forEach((task: tasks.TaskStateBase) => {
    task.addCatch(myFallbackState);
});
© www.soinside.com 2019 - 2024. All rights reserved.