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

已提问 1 年前3218 查看次数
1 回答
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
已回答 1 年前
  • Thanks JB,  So, will this one pass those parameters for the next step or all subsequent steps?

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则