Exécution et débogage de fonctions Lambda directement à partir du code - AWS Boîte à outils pour VS Code

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécution et débogage de fonctions Lambda directement à partir du code

Lorsque vous testez l' AWS SAM application, vous pouvez choisir d'exécuter et de déboguer uniquement la fonction Lambda et d'exclure les autres ressources définies par AWS SAM le modèle. Cette approche implique l'utilisation de cette CodeLensfonctionnalité pour identifier les gestionnaires de fonctions Lambda dans le code source que vous pouvez invoquer directement.

Les gestionnaires Lambda détectés CodeLens dépendent de la langue et de l'environnement d'exécution que vous utilisez pour votre application.

Language/Environnement d'exécution Critères pour que les fonctions Lambda soient identifiées par des indicateurs CodeLens

C# (dotnetcore2.1, 3.1 ;. NET5,0)

La fonction de recherche dispose des fonctions suivantes :
  • C'est une fonction publique d'une classe publique.

  • Il possède un ou deux paramètres. Avec deux paramètres, le second doit implémenter l'ILambdaContextinterface.

  • Il possède un *.csproj fichier dans son dossier parent dans le dossier de l'espace de travail VS Code.

L'extension ms-dotnettools.csharp (ou toute extension fournissant des symboles de langage pour C#) est installée et activée.

JavaScript/TypeScript (Node.js 12.x, 14.x)

La fonction de recherche dispose des fonctions suivantes :
  • Il s'agit d'une fonction exportée avec jusqu'à trois paramètres.

  • Il possède un package.json fichier dans son dossier parent dans le dossier de l'espace de travail VS Code.

Python (3,7, 3,8, 3,9, 3,10, 3,11, 3,12)

La fonction de recherche possède les fonctions suivantes :
  • Il s'agit d'une fonction de niveau supérieur.

  • Il possède un requirements.txt fichier dans son dossier parent dans le dossier de l'espace de travail VS Code.

L'extension ms-python.python (ou toute extension fournissant des symboles de langage pour Python) est installée et activée.

Java (8, 8.al2, 11)

La fonction de recherche dispose des fonctions suivantes :
  • C'est une fonction publique d'une classe publique non abstraite.

  • Il possède un, deux ou trois paramètres :

    • Un paramètre : le paramètre peut être n'importe quoi.

    • Deux paramètres : les paramètres doivent être a java.io.InputStream et a java.io.OutputStream OU le dernier paramètre doit être com.amazonaws.services.lambda.runtime.Context a.

    • Trois paramètres : les paramètres doivent être a java.io.InputStream et java.io.OutputStream AND le dernier paramètre doit être com.amazonaws.services.lambda.runtime.Context a.

  • Il possède un fichier build.gradle (Gradle) ou pom.xml (Maven) dans son dossier parent dans le dossier de l'espace de travail VS Code.

L'extension redhat.java (ou toute extension fournissant des symboles de langage pour Java) est installée et activée. Cette extension nécessite Java 11, quel que soit le moteur d'exécution Java que vous utilisez.

Le vscjava. vscode-java-debugl'extension (ou toute extension fournissant un débogueur Java) est installée et activée.

Go (1.x)

La fonction de recherche possède les fonctions suivantes :
  • Il s'agit d'une fonction de niveau supérieur.

  • Il prend entre 0 et 2 arguments. S'il y a deux arguments, le premier argument doit implémenter context.Context.

  • Elle renvoie entre 0 et 2 arguments. S'il y a plus de 0 arguments, le dernier argument doit être implémentéerror.

  • Il contient un go.mod fichier dans le dossier de l'espace de travail VS Code.

L'extension golang.go est installée, configurée et activée.

Pour exécuter et déboguer une application sans serveur directement à partir du code de l'application

  1. Pour afficher les fichiers de votre application dans l'explorateur de fichiers VS Code, choisissez Afficher, Explorateur.

  2. Dans le dossier de l'application (par exemple, my-sample-app), développez le dossier des fonctions (dans ce cas, hello-world) et ouvrez le app.js fichier.

  3. Dans l' CodeLens indicateur qui identifie un gestionnaire de fonctions Lambda éligible, choisissez. Add Debug Configuration

    Accédez à l'option Ajouter une configuration de débogage dans l' CodeLens indicateur d'un gestionnaire de fonctions Lambda.
  4. Dans la palette de commandes, sélectionnez le moteur d'exécution dans lequel votre AWS SAM application sera exécutée.

  5. Dans l'éditeur du fichier launch.json, modifiez ou confirmez les valeurs des propriétés de configuration suivantes :

    • "name" : saisissez un nom convivial à afficher dans le champ déroulant Configuration dans la vue Run (Exécuter).

    • "target" – Vérifiez que la valeur est "code" afin qu'un gestionnaire de fonction Lambda soit directement appelé.

    • "lambdaHandler" – Saisissez le nom de la méthode dans votre code que Lambda appelle pour exécuter votre fonction. Par exemple, pour les applications dans JavaScript, la valeur par défaut estapp.lambdaHandler.

    • "projectRoot" – Saisissez le chemin du fichier d'application qui contient la fonction Lambda.

    • "runtime" – Saisissez ou confirmez un environnement d'exécution valide pour l'environnement d'exécution Lambda, par exemple "nodejs.12x".

    • "payload" – Choisissez l'une des options suivantes pour définir la charge utile d'événement à fournir à votre fonction Lambda comme entrée :

      • "json": paires JSON clé-valeur formatées qui définissent la charge utile de l'événement.

      • "path" : chemin du fichier utilisé comme charge utile d'événement.

      Dans l'exemple ci-dessous, l'"json"option définit la charge utile.

    Configuration du launch.json fichier pour appeler directement les fonctions Lambda.

    Pour plus d'informations sur ces entrées et sur d'autres entrées dans le fichier launch.json, consultez Options de configuration pour le débogage d'applications sans serveur.

  6. Si vous êtes satisfait de la configuration de débogage, pour démarrer le débogage, cliquez sur la flèche verte à côté de. RUN

    Lorsque les sessions de débogage démarrent, le DEBUGCONSOLEpanneau affiche les résultats de débogage et affiche toutes les valeurs renvoyées par la fonction Lambda. (Lors du débogage d' AWS SAM applications, AWS Toolkit est sélectionné comme canal de sortie dans le panneau de sortie.)