Amazon web services 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

以下步骤函数在aws中执行,当缺少所需参数时,它将取消流并抛出状态。运行时错误。这是在阶跃函数的捕捉阶段,但它没有捕捉到所述的错误

定义的步进函数如下:

{
  "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不会捕获状态。运行时错误