1
votes

I have a task state that outputs the following:

"batch": {
    "batch": "size",
    "currentTimestamp": 1596205376
  },

and a map state out outputs an array:

"batch": [
    {
      "batch": "product-batch-0",
      "currentTimestamp": 1596205376
    },
    {
      "batch": "product-batch-1",
      "currentTimestamp": 1596205376
    }
]

I would like to combine them so that the input to the state that follows the map state is this:

  "batch": [
    {
    "batch": "Size",
    "currentTimestamp": 1596205376
    },
    {
      "batch": "product-batch-22",
      "currentTimestamp": 1596205376
    },
    {
      "batch": "product-batch-8",
      "currentTimestamp": 1596205376
    }
]

Is this possible using the input/output processing available in aws step functions? I want to have them contained in one array so they can be processed together in an additional map state later in the state machine.

1

1 Answers

1
votes

You should use another Lambda function to merge the input and output because the step functions output feature cannot append the result into an array or merge the input and output as an array.

[1] : https://docs.aws.amazon.com/step-functions/latest/dg/input-output-resultpath.html#input-output-resultpath-append