By using AWS re:Post, you agree to the Terms of Use
/Pass parameters to next step function task/

Pass parameters to next step function task

0
{
  "Comment": "A description of my state machine",
  "StartAt": "Batch SubmitJob",
  "States": {
    "Batch SubmitJob": {
      "Type": "Task",
      "Resource": "arn:aws:states:::batch:submitJob.sync",
      "Parameters": {
        "JobDefinition": "arn:aws:batch:us-east-1:XXXXXXXXXXX:job-definition/clientcopyjobdef:1",
        "JobQueue": "arn:aws:batch:us-east-1:XXXXXXXXXX:job-queue/copyclientjq",
        "ContainerOverrides": {
          "Command.$": [
            "dotnet",
            "CopyClientJob.dll",
            "$.input"
          ]
        },
        "JobName.$": "$.input"
      },
      "End": true
    }
  }
}

I was trying to create this state machine, it was working fine if I am passing command to JobDefinition directly, but here I am truing to override the command and want to pass command parameter from state input, so trying to pass like above code. For "JobName.$": "$.input" it is working but for

"Command.$": [
            "dotnet",
            "CopyClientJob.dll",
            "$.input"
          ] 

It is not working, the command is passing as it is to aws batch without trasforming the parameter, can someone help on this. Thanks

2 Answers
0
Accepted Answer

Got the solution, Actually I need to combine the all 3 using States.Array like below

{
  "Comment": "A description of my state machine",
  "StartAt": "Batch SubmitJob",
  "States": {
    "Batch SubmitJob": {
      "Type": "Task",
      "Resource": "arn:aws:states:::batch:submitJob.sync",
      "Parameters": {
        "JobDefinition": "arn:aws:batch:us-east-1:XXXXXXXXX:job-definition/clientcopyjobdef:1",
        "JobQueue": "arn:aws:batch:us-east-1:XXXXXXXX:job-queue/copyclientjq",
        "ContainerOverrides": {
          "Command.$": "States.Array('dotnet', 'CopyClientJob.dll', $.input)"
        },
        "JobName": "test"
      },
      "End": true
    }
  }
}
answered a month ago
0

Maybe try Command.$

EXPERT
answered a month ago

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