Step function passing parameters

0

Hi there,

I am trying to do some experiments to migrate from the data pipeline to the step function. I call the step function from the lambda function by passing a couple of parameters (name, env). My question is, how do I pass these parameters and clusterID (from the emr) to all next steps and use it? Also, is it possible to change the name of the cluster to the parameter I passed from the lambda function? Like

"Parameters": {         "Name": "$.name",....?

Please see the attached picture. sample step function

asked a year ago3026 views
1 Answer
0

Hello there!

In order to pass the parameters from one state to the next, ensure that you are using the Pass state.

Let's say I have the parameters ClusterName and ClusterId and I need to pass it to the next state. In my state machine definition, it will like the following:

    "GetInputFromLambda": {
      "Comment": "This state gets the parameters from the Lambda function",
      "Type": "Pass",
      "Parameters": {
        "ClusterID.$": "$.ClusterId", (this allows me to get the value defined in the Lambda function)
        "ClusterName.$" : "$.ClusterName",
      },
      "Next": "DoSomethingWithLambdaInputState"

If I defined "ClusterID.$" as "ClusterID", I will get the literal string "$.ClusterId", have a look at the example listed here. The values that I get from Lambda are passed on to the next state "DoSomethingWithLambdaInputState"

So if you change the name of the EMR cluster in your Lambda function, remember the key value pair so you can access it in the state machine.

AWS
JB
answered a year ago
  • Thanks JB,  So, will this one pass those parameters for the next step or all subsequent steps?

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions