Aws lambda 在步进函数中将输入传递给迭代器并将其输出,同时保持迭代器输出

Aws lambda 在步进函数中将输入传递给迭代器并将其输出,同时保持迭代器输出,aws-lambda,aws-step-functions,Aws Lambda,Aws Step Functions,我有一个步进函数状态机,它启动并行lambda,一旦所有并行lambda都完成了,就会有一个最终的lambda被执行 示例定义 { "Comment": "An example of the Amazon States Language using a map state to process elements of an array with a max concurrency of 2.", "StartAt": "Map", "States": { "Map": {

我有一个步进函数状态机,它启动并行lambda,一旦所有并行lambda都完成了,就会有一个最终的lambda被执行

示例定义

{
  "Comment": "An example of the Amazon States Language using a map state to process elements of an array with a max concurrency of 2.",
  "StartAt": "Map",
  "States": {
    "Map": {
      "Type": "Map",
      "ItemsPath": "$.my_list",
      "Parameters": {
        "list_item.$": "$$.Map.Item.Value",
        "input_1.$": "$.input_1",
        "input_2.$": "$.input_2"
      },
      "MaxConcurrency": 2,
      "Next": "Final",
      "Iterator": {
        "StartAt": "Parallel Step",
        "States": {
          "Parallel Step": {
            "Type": "Task",
            "Resource": "arn:aws:states:::lambda:invoke",
            "Parameters": {
              "FunctionName": "arn:aws:lambda:us-east-1:<>:function:parallel-lambda:$LATEST",
              "Payload": {
                "Input.$": "$"
              }
            },
            "OutputPath": "$.Payload",
            "End": true
          }
        }
      }
    },
    "Final": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-east-1:<>:function:final-lambda:$LATEST",
        "Payload": {
          "Input.$": "$"
        }
      },
      "End": true
    }
  }
}
现在,my
Final
lambda的输入将获得这些输出的列表。这是我想要的。但是有没有一种方法可以将一些输入传递到并行lambda到最终的lambda

理想情况下,我的最终lambda输入应该是

{'input_1': input_1_val,
 'input_2': input_2_val,
 'parallel_outputs': [{'statusCode': 200, 'n-successes': 5}, ...]

我知道我可以在并行lambdas输出中传递它,但在输出列表中重复相同的输入值这么多次似乎效率低下

看起来您需要使用$.ResultPath而不是$.OutputPath

{'input_1': input_1_val,
 'input_2': input_2_val,
 'parallel_outputs': [{'statusCode': 200, 'n-successes': 5}, ...]