【发布时间】:2018-09-19 13:28:49
【问题描述】:
我有一个简单的 AWS 状态机,其中包含两个执行 C# lambda 函数的任务状态,以及一个用于处理“States.ALL”的传递状态错误处理程序:
{
"Comment": "StateMachine1",
"StartAt": "step1",
"States": {
"step1": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-2:0000:function:step1",
"Catch": [ {
"ErrorEquals": ["States.ALL"],
"Next": "CatchAllFallback"
} ],
"Next": "step2"
},
"step2": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-2:0000:function:step2",
"Catch": [ {
"ErrorEquals": ["States.ALL"],
"Next": "CatchAllFallback"
} ],
"End": true
},
"CatchAllFallback": {
"Type": "Pass",
"Result": "This is a fallback from any error code",
"End": true
}
}
}
当其中一个步骤失败时,我将以下内容作为“CatchAllFallback”的输入:
"Error": "Lambda.Unknown",
"Cause": "The cause could not be determined because Lambda did not return an error type."
当我查看 Cloudwatch 日志时,我发现该步骤已超时。我的问题是:如何在我的错误处理程序中获取该信息,而不仅仅是“Lambda.Unknown”?我知道这一定是可能的,但是在花了几个小时搜索网络之后,我不知道该怎么做。任何建议将不胜感激。
【问题讨论】:
标签: amazon-web-services aws-lambda aws-step-functions