1
votes

Comment transmettre l'entrée de fonction d'étape à un travail par lots

Quelle est la bonne façon d'envoyer une partie de l'entrée d'une fonction d'étape à un travail par lots?

J'ai essayé de définir et d'environnement var en utilisant Parameters.ContainerOverrides.Environment comme ceci:

{
  "param_1": "value-goes-here"
}


0 commentaires

3 Réponses :


1
votes

Corrigé. La clé Value avait simplement besoin du suffixe ". $".

"Parameters": {
 "ContainerOverrides": {
  "Environment": [
    {
      "Name": "PARAM_1",
      "Value.$": "$.param_1"
    }


0 commentaires

0
votes

Si vous souhaitez passer des paramètres à Batch, ajoutez la section Paramètres à la section Paramètres parent (pas de nom génial!)

    "MyStepTask": {
        "Type": "Task",
        "Resource": "arn:aws:states:::batch:submitJob.sync",
        "Parameters": {
          "JobDefinition": "myjobdef",
          "JobName": "myjobname",
          "JobQueue": "myjobqueue",
          "Parameters": {
              "Name": "PARAM_1",
              "Value.$": "$.param_1"
          }
        },
        "Next": "MyNextStepTask"
    }


0 commentaires

1
votes

Passez-le dans "Paramètres" (dans le parent "Paramètres"). Veuillez noter que toutes les valeurs des paramètres sont des chaînes

"MyStepTask": {
    "Type": "Task",
    "Resource": "arn:aws:states:::batch:submitJob.sync",
    "Parameters": {
      "JobDefinition": "myjobdef",
      "JobName": "myjobname",
      "JobQueue": "myjobqueue",
      "Parameters": { "p_param1":"101",
                      "p_param2":"201"
      }
    },
    "Next": "MyNextStepTask"
}


0 commentaires