Node.js 使用选择状态的AWS步进函数为';t命中所有任务状态

Node.js 使用选择状态的AWS步进函数为';t命中所有任务状态,node.js,amazon-web-services,aws-step-functions,Node.js,Amazon Web Services,Aws Step Functions,我想按以下顺序调用函数:第一次调用,第二次调用,第三次调用,第四次调用,然后结束 我正在AWS管理控制台中使用choice示例 为什么第三次和第四次呼叫没有被击中 AWS Step函数代码(JSON) 如果您试图按此顺序调用对象: 首先 第二 第三 第四 。。。那么我认为您不想使用选项状态。选项状态专门用于允许您根据当前状态对象上属性的值做出分支决策。这将导致执行一些分支,而跳过其他分支 顺便说一句,由于选项状态实际上不是“调用”任何东西,我建议避免将其命名为“调用某物”,因为这可能会让您感到不

我想按以下顺序调用函数:第一次调用,第二次调用,第三次调用,第四次调用,然后结束

我正在AWS管理控制台中使用choice示例

为什么第三次和第四次呼叫没有被击中

AWS Step函数代码(JSON)

如果您试图按此顺序调用对象:

  • 首先
  • 第二
  • 第三
  • 第四
  • 。。。那么我认为您不想使用
    选项
    状态。
    选项
    状态专门用于允许您根据当前状态对象上属性的值做出分支决策。这将导致执行一些分支,而跳过其他分支

    顺便说一句,由于
    选项
    状态实际上不是“调用”任何东西,我建议避免将其命名为“调用某物”,因为这可能会让您感到不适。
    任务
    状态是唯一通过AWS Lambda函数或Step函数“活动任务”概念实际调用任何代码的状态

    如果你想澄清你的目标,你可以编辑你的问题

    这就是你想要做的吗

    如果您只想按顺序调用四个函数,则可以使用:


    如果您尝试按此顺序调用对象:

  • 首先
  • 第二
  • 第三
  • 第四
  • 。。。那么我认为您不想使用
    选项
    状态。
    选项
    状态专门用于允许您根据当前状态对象上属性的值做出分支决策。这将导致执行一些分支,而跳过其他分支

    顺便说一句,由于
    选项
    状态实际上不是“调用”任何东西,我建议避免将其命名为“调用某物”,因为这可能会让您感到不适。
    任务
    状态是唯一通过AWS Lambda函数或Step函数“活动任务”概念实际调用任何代码的状态

    如果你想澄清你的目标,你可以编辑你的问题

    这就是你想要做的吗

    如果您只想按顺序调用四个函数,则可以使用:


    因为您的
    SecondCall
    Next
    值显式设置为
    beforeed
    。是的,我已尝试将第二次调用的下一个值更改为第三次调用…但这会使第三次调用从第二次和第一次调用中调用。我只希望从第一次调用调用第三次调用,然后终止此分支,因为
    SecondCall
    Next
    值显式设置为
    beforeed
    。是的,我已尝试将第二次调用的下一个值更改为thirdcall…但这将从第二次和第一次调用第三次调用呼叫我只希望从第一次呼叫开始调用第三次呼叫,然后终止此分支
    {
      "Comment": "state functionality",
      "StartAt": "FirstCall",
      "States": {
        "FirstCall": {
          "Type": "Choice",
          "Choices": [
            {
              "Not": {
                "Resource": "rnName",
                "Variable": "$.response",
                "InputPath": "$",
                "ResultPath": "$",
                "OutputPath": "$",
                "StringEquals": "Success Import"
              },
              "Next": "SecondCall"
            },
            {
              "Variable": "$.response",
              "StringEquals": "Success Import ",
              "Next": "ThirdCall"
            },
            {
              "And": [
                {
                  "Variable": "$.response",
                  "StringEquals": "Success Import"
                },
                {
                  "Variable": "$.response",
                  "StringEquals": "Success Import"
                }
              ],
              "Next": "FourthCall"
            }
          ]
        },
        "SecondCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "BeforeEnd"
        },
        "ThirdCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "BeforeEnd"
        },
        "FourthCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "BeforeEnd"
        },
        "BeforeEnd": {
          "Type": "Task",
          "Resource": "rnName",
          "End": true
        }
      }
    }
    
    {
      "Comment": "state functionality",
      "StartAt": "FirstCall",
      "States": {
        "FirstCall": {
          "Type": "Choice",
          "Choices": [
            {
              "Not": {
                "Resource": "rnName",
                "Variable": "$.response",
                "InputPath": "$",
                "ResultPath": "$",
                "OutputPath": "$",
                "StringEquals": "Success Import"
              },
              "Next": "SecondCall"
            },
            {
              "Variable": "$.response",
              "StringEquals": "Success Import ",
              "Next": "ThirdCall"
            },
            {
              "And": [
                {
                  "Variable": "$.response",
                  "StringEquals": "Success Import"
                },
                {
                  "Variable": "$.response",
                  "StringEquals": "Success Import"
                }
              ],
              "Next": "FourthCall"
            }
          ]
        },
        "SecondCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "FirstCall"
        },
        "ThirdCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "FirstCall"
        },
        "FourthCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "BeforeEnd"
        },
        "BeforeEnd": {
          "Type": "Task",
          "Resource": "rnName",
          "End": true
        }
      }
    }
    
    {
      "Comment": "state functionality",
      "StartAt": "FirstCall",
      "States": {
        "FirstCall": {
          "Type": "Task",
          "Next": "SecondCall"
        },
        "SecondCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "ThirdCall"
        },
        "ThirdCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "FourthCall"
        },
        "FourthCall": {
          "Type": "Task",
          "Resource": "rnName",
          "Next": "BeforeEnd"
        },
        "BeforeEnd": {
          "Type": "Task",
          "Resource": "rnName",
          "End": true
        }
      }
    }