web-dev-qa-db-fra.com

Passer et utiliser l'entrée (paramètres) sur une tâche Lambda à partir d'une fonction étape

J'ai une solution simple lancant un Lambda et je cherche un moyen de passer des paramètres (événement/contexte) à chacune des tâches conséquentes. Ma fonction étape ressemble à ceci:

{
  "Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
  "StartAt": "HelloWorld",
  "States": {
    "HelloWorld": {
      "Type": "Task",
      "Parameters": {
        "TableName": "table_example"
      },
      "Resource": "arn:aws:lambda:ap-southeast-2:XXXXXXX:function:fields_sync",
      "End": true
    }
  }
}

Dans la Lambda écrit avec Python J'utilise un gestionnaire simple qui est:

def lambda_handler(event, context):
    #...

L'événement et le contexte ressemblent à ceci (vérifiant les journaux):

Démarrer la demande: F58140B8-9F04-47D7-9285-510B0357B4C2 Version: $ Dernière

Je ne trouve pas un moyen de passer des paramètres à cette Lambda et de les utiliser dans le script. Essentiellement, ce que j'essaie de faire est de courir la même lambda qui passe quelques valeurs différentes en tant que paramètre.

Quelqu'un pourrait-il s'il vous plaît me signaler dans la bonne direction?

7
Ilia Gagarin

Comme Milan mentionné dans son Commentaire , vous pouvez transmettre des données sur une fonction Lambda à partir d'un état de fonction étape.

Dans la fonction Lambda, vous devez lire le contenu event.

import json

def lambda_handler(event, context):
    TableName = event['TableName']
0
Bart Schuijt