Comment invoquer une lambda avec une fonction de pas

Comment invoquer une lambda avec une fonction de pas

«Une fonction étape peut être utilisée pour contrôler les services AWS en utilisant la langue Amazon State. La fonction AWS Step est également un service sans serveur, tout comme les fonctions lambda, mais il peut être utilisé pour effectuer plusieurs tâches dans une séquence ou en parallèle. La fonction d'étape est basée sur la machine d'état, et la tâche et la machine d'état ne sont que les workflows de votre application. Une fonction étape peut être utilisée pour effectuer diverses tâches en invoquant la fonction lambda, selon votre cas d'utilisation. Dans ce blog, nous étudierons comment invoquer la fonction lambda avec la fonction étape."

Création de la fonction lambda

La première chose que vous devez faire est de créer une fonction lambda qui sera invoquée par la fonction de pas. Dans ce blog, nous utiliserons la base Bonjour de Lambda Code fourni par AWS afin d'invoquer la fonction lambda avec la fonction étape.

La fonction Hello World Lambda a le code suivant, qui renvoie simplement du contenu statique lorsqu'il est invoqué.

Importer JSON
def lambda_handler (événement, contexte):
# Implémentation de Todo
retour
'Statuscode': 200,
'Body': JSON.Décharges ('Bonjour de Lambda!')

Création du rôle IAM pour la fonction de pas

Afin d'invoquer la fonction lambda en utilisant la fonction étape, vous devez d'abord fournir les autorisations nécessaires de la fonction étape. Pour cela, vous devez créer un rôle IAM pour la fonction de pas, qui accorde les autorisations de fonction de pas pour invoquer la fonction lambda. Afin de créer le rôle IAM, suivez les étapes ci-dessous données.

  • Allez sur votre tableau de bord IAM
  • Dans le coin gauche de votre console, cliquez sur le Les rôles bouton
  • Clique sur le créer un rôle bouton
  • Sélectionner Services AWS Comme le type d'entité de confiance
  • Sous le cas d'utilisation Option, sélectionnez la fonction étape
  • Puis cliquez sur le suivant bouton
  • Dans le Ajouter la permission fenêtre, il sélectionnera automatiquement la stratégie IAM requise. Il vous suffit de cliquer sur le bouton Suivant
  • Fournir le nom de rôle Tout ce que vous voulez et cliquez sur le Créer le bouton de rôle Pour créer le rôle

Création de la fonction d'étape

Après avoir créé le rôle IAM pour la fonction étape, créez maintenant un fonction de pas qui sera utilisé pour invoquer la fonction lambda. Pour cela, tout d'abord, accédez à la console de la fonction de pas et cliquez sur le Créer une machine d'état bouton pour commencer à créer la machine d'état. AWS fournit les deux façons de créer la machine d'état suivantes, et nous discuterons des deux méthodes pour créer la machine d'État dans ce blog.

  • Concevez votre flux de travail visuellement
  • Écrivez votre flux de travail dans le code (langue Amazon States)

Concevez votre flux de travail visuellement

Cette méthode est nouvelle et beaucoup plus facile que d'écrire votre flux de travail en code parce que vous n'avez pas besoin d'écrire de code. AWS fournit le bloc visuel de votre flux de travail, et il vous suffit de les faire glisser et de définir leurs paramètres. AWS crée automatiquement le code ASL de votre workflow. Les étapes suivantes définissent comment nous pouvons créer une fonction de pas visuellement.

  • Accédez à votre tableau de bord de la fonction de pas de la console de gestion AWS
  • Cliquez sur la création machine d'État bouton de la console
  • Sous le Choisissez la méthode de création, Sélectionnez Concevoir votre flux de travail visuellement
  • Dans le cadre de la section Type, sélectionnez l'option standard
  • Clique sur le Suivant bouton
  • Maintenant, vous obtiendrez la fenêtre où nous allons concevoir visuellement le flux de travail de notre machine d'État
  • Sur votre côté gauche, il montrera le Option AWS Lambda Invoke. Cliquez et faites-le glisser au centre de la console où il est écrit; Faites glisser le premier état ici
  • Sur le côté droit de la fenêtre, vous pouvez voir la configuration de la Lambda Invoke
  • Dans le nom de l'État, tapez lambda invoque
  • Dans l'intégration taper Section, choisissez le optimisé
  • Ensuite, passez au Section des paramètres API
  • Sous le Nom de la fonction, clique sur le Choisissez un onglet d'option, où vous trouverez la fonction lambda que vous souhaitez invoquer
  • Sous le charge utile Option, choisissez d'utiliser l'état d'entrée comme charge utile.
  • Sous État suivant, sélectionnez le Aller à l'option de fin
  • Clique sur le suivant bouton dans le coin supérieur droit
  • Dans le Examiner le code généré fenêtre, vous pouvez voir qu'AWS génère automatiquement la définition du langage de l'état Amazon de la machine Amazon. Générez également le flux de travail de votre fonction de pas
  • Clique sur le Suivant bouton
  • Maintenant, vous obtiendrez le Spécifiez la machine d'état fenêtre de réglage
  • Fournir un nom de machine d'état, tout ce que vous désirez
  • Sous le autorisation, clique sur le Choisissez un rôle existant cocher
  • Sélectionnez le rôle IAM que nous avons créé à l'étape précédente
  • Faites défiler jusqu'à la fin de la page et cliquez sur le Créer une machine d'état bouton pour créer la machine d'état

Écrivez votre flux de travail dans la langue des états amazon

La deuxième façon de créer la machine d'état est d'écrire votre flux de travail dans le code. Vous écrirez le flux de travail dans Amazon indique la langue (ASL). Lors de la création de la machine d'état, choisissez d'écrire Votre flux de travail en code dans la définition Section de la machine d'état. Vous pouvez utiliser le code linguistique suivant des états d'Amazon afin d'invoquer la fonction lambda.


"Startat": "call_lambda",
"États":
"Call_lambda":
"Type": "tâche",
"Ressource": "Arn: AWS: Lambda: ap-South-1: xxxxxx: Fonction: invoking_lambda",
"Fin": vrai


Dans la définition ci-dessus, vous utiliserez le Arn de votre fonction lambda dans le champ de ressources. Vous pouvez obtenir la fonction lambda arn de la console lambda.

Invoquez la fonction lambda

Après avoir créé la machine d'état, vous devez démarrer l'exécution. Cliquez sur la fonction d'étape, et il affichera toutes les configurations de la fonction d'étape. Afin de démarrer l'exécution de la fonction d'étape, cliquez sur le Bouton d'exécution de démarrage.


Vous pouvez fournir le nom et l'entrée à l'exécution que vous allez commencer, mais il est facultatif.

Sous statut d'exécution, Vous pouvez vérifier l'état de la fonction de pas invoquant la fonction lambda. Accédez à l'inspecteur du graphique et cliquez sur le Lambda invoque, Et dans le coin droit de la console, vous obtiendrez l'onglet détail, entrée et sortie. Clique sur le saisir Onglet, et vous pouvez voir l'entrée de l'exécution. Maintenant cliquez sur le sortir Onglet, et vous verrez la sortie de la fonction de pas. C'est ainsi que votre fonction lambda est invoquée avec la fonction de pas.

Conclusion

Dans ce blog, nous avons étudié comment invoquer la fonction lambda avec la fonction étape. La fonction étape et la fonction lambda sont des ressources sans serveur par AWS. Une fonction étape peut également être utilisée pour contrôler les autres services d'AWS comme SNS, S3 et SNS, etc. Nous avons appris les différentes façons de créer des machines d'État, je.e., Concevoir votre flux de travail visuellement et concevoir le workflow en utilisant le code. La conception du flux de travail visuellement est un moyen nouveau et facile de commencer avec les fonctions AWS Step.