Amazon web services AWS步骤函数未捕获状态。运行时错误
以下步骤函数在aws中执行,当缺少所需参数时,它将取消流并抛出状态。运行时错误。这是在阶跃函数的捕捉阶段,但它没有捕捉到所述的错误 定义的步进函数如下:Amazon web services AWS步骤函数未捕获状态。运行时错误,amazon-web-services,error-handling,runtime-error,aws-step-functions,aws-step-config,Amazon Web Services,Error Handling,Runtime Error,Aws Step Functions,Aws Step Config,以下步骤函数在aws中执行,当缺少所需参数时,它将取消流并抛出状态。运行时错误。这是在阶跃函数的捕捉阶段,但它没有捕捉到所述的错误 定义的步进函数如下: { "StartAt": "Log Start Step Function", "Comment": "Executed with inputs", "States": { "Log Start Step Function": { "Type": "Task", "Resource": "arn:aw
{
"StartAt": "Log Start Step Function",
"Comment": "Executed with inputs",
"States": {
"Log Start Step Function": {
"Type": "Task",
"Resource": "arn:aws:lambda:eu-west-1:0000000:function:update",
"Parameters": {
"body": {
"itemID.$": "$.itemID",
"functionName.$": "$.stepFunctionName ",
"executionARN.$": "$$.Execution.Id",
"complete": false,
"inprogress": true,
"error": false
}
},
"Catch": [
{
"ErrorEquals": [
"States.Runtime"
],
"ResultPath": "$.taskresult",
"Next": "Log Failed Module"
},
{
"ErrorEquals": [
"States.ALL"
],
"ResultPath": "$.taskresult",
"Next": "Log Failed Module"
}
],
"ResultPath": "$.taskresult",
"Next": "Evaluate Module PA1"
}
}
}
下面是step函数
抛出的错误如下所示,
运行时错误未执行日志失败模块
{
"ErrorEquals": [
"States.Runtime"
],
"ResultPath": "$.taskresult",
"Next": "Log Failed Module"
},
这是AWS错误还是此处所做的配置有问题,或者是否有其他方法验证AWS Step函数中的参数?您的状态机需要以下输入:
"Parameters": {
"body": {
"itemID.$": "$.itemID",
"functionName.$": "$.stepFunctionName ",
"executionARN.$": "$$.Execution.Id",
"complete": false,
"inprogress": true,
"error": false
}
},
您需要在开始新的执行时传递它们,而不是:
{
"Comment": "Insert your JSON here"
}
您当前正在传递它,因为它默认作为AWS控制台中新执行的输入体出现
在此处阅读有关InputPath和参数的更多信息:我也有同样的问题 我开始认为,运行时错误发生在处理输入路径时,并且在catcher可以初始化之前。这意味着无法尝试/捕获测试输入中存在的参数。我也试过ChoiceState,但没用 因此,我认为没有解决方案,只能提供状态机定义中引用的每个参数。但是文档对此并不清楚。来自 状态。运行时错误不可重试,并且将始终导致执行失败。重试或捕获状态。ALL不会捕获状态。运行时错误