AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Cloud9 peuvent continuer à utiliser le service normalement. En savoir plus
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.
Utilisation des AWS Lambda fonctions à l'aide du AWS Toolkit
Le AWS kit d'outils prend en charge AWS Lambda
Lambda est un service de calcul entièrement géré qui exécute votre code en réponse à des événements générés par du code personnalisé ou provenant de divers Services AWS. Il s'agit notamment d'Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, Amazon Kinesis, Amazon Simple Notification Service (Amazon SNS) et Amazon Cognito.
Important
Si vous souhaitez créer une application Lambda qui utilise les ressources fournies par SAM (Serverless Application Model), consultez AWS SAM Utilisation de la AWS boîte à outils.
Rubriques
Appel de fonctions Lambda distantes
À l'aide de la AWS boîte à outils, vous pouvez interagir avec AWS Lambda
Pour plus d'informations sur Lambda, consultez le guide du développeur AWS Lambda.
Note
Supposons que vous ayez déjà créé des fonctions Lambda en utilisant le AWS Management Console ou d'une autre manière. Vous pouvez les invoquer depuis le AWS Toolkit. Pour créer une nouvelle fonction avec AWS Toolkit dans laquelle vous pouvez effectuer un déploiement AWS Lambda, vous devez d'abord créer une application sans serveur.
Prérequis
-
Assurez-vous que les informations d'identification que vous avez configurées incluent un accès en lecture/écriture approprié au AWS Lambda service. Si dans AWS Explorer, sous Lambda, un message similaire à « Erreur lors du chargement des ressources Lambda » apparaît, vérifiez les autorisations attachées à ces informations d'identification. Les modifications que vous apportez aux autorisations prennent quelques minutes avant d'affecter AWS Explorer dans AWS Toolkit.
Appel d'une fonction Lambda
Important
L'appel de méthodes d'API AWS à l'aide du Toolkit peut entraîner des modifications irrémédiables dans les ressources. Par exemple, si vous appelez une méthode POST
, les ressources de l'API sont mises à jour si l'appel réussit.
Vous pouvez invoquer une fonction Lambda en AWS utilisant le AWS Toolkit.
-
Dans AWS Explorer, choisissez le nom de la fonction Lambda à appeler, puis ouvrez son menu contextuel.
-
Choisissez Invoke on AWS.
-
Dans la fenêtre Appeler une fonction qui s'ouvre, choisissez une option pour la charge utile dont votre fonction Lambda a besoin. (La charge utile est le JSON que vous souhaitez fournir à votre fonction Lambda en entrée). Vous pouvez choisir Browse (Parcourir) pour sélectionner un fichier à utiliser comme charge utile ou utiliser le champ déroulant pour choisir un modèle pour la charge utile. Dans ce cas, la fonction Lambda peut apparaître comme une chaîne saisie, comme le montre la zone de texte.
Choisissez Appeler pour appeler la fonction Lambda et transmettre la charge utile.
Vous pouvez voir le résultat de la fonction Lambda dans l' AWS Lambda onglet.
Téléchargement, chargement et suppression de fonctions Lambda
Le AWS Toolkit fournit les options pour importer et télécharger des fonctions AWS Cloud9 Lambda dans l'IDE.
Téléchargement d'une fonction Lambda
En téléchargeant une fonction Lambda, vous téléchargez également les fichiers de projet qui décrivent la fonction depuis le AWS Cloud et vous les utilisez dans l' AWS Cloud9 IDE.
Pour télécharger une fonction Lambda
-
Dans AWS Explorer, sous le nœud Lambda, ouvrez le menu contextuel (clic droit) de la fonction et choisissez Download (Télécharger).
-
Lorsque vous êtes invité à sélectionner un dossier d'espace de travail pour votre nouveau projet, vous pouvez effectuer l'une des actions suivantes :
-
Choisir le dossier suggéré pour créer un sous-dossier portant le même nom que votre projet Lambda.
-
Choisir Sélectionner un dossier différent pour ouvrir une boîte de dialogue pour rechercher et sélectionner un dossier parent différent pour le sous-dossier de votre projet.
L'IDE ouvre une nouvelle fenêtre d'éditeur.
-
Configuration d'une fonction Lambda téléchargée pour l'exécution et le débogage
Pour exécuter et déboguer votre fonction Lambda téléchargée en tant qu'application sans serveur, vous devez définir une configuration de lancement dans votre fichier launch.json
. Une fonction Lambda créée dans le AWS Management Console peut ne pas être incluse dans une configuration de lancement. Vous devrez donc peut-être l'ajouter manuellement.
Pour ajouter votre fonction Lambda au lancement de la configuration
-
Une fois que vous avez téléchargé la fonction Lambda, ouvrez la fenêtre Environment (Environnement) pour afficher ses dossiers et fichiers.
-
Ensuite, vérifiez que votre fonction Lambda est incluse dans un fichier
/home/ec2-user/.c9/launch.json
. S'il n'est pas présent, procédez comme suit pour ajouter un CodeLens lien vers le code de votre fonction :Ouvrez le fichier de code source qui définit la fonction Lambda (par exemple, un fichier
.js
ou.py
). Vérifiez ensuite s'il existe un CodeLens lien que vous pouvez utiliser pour ajouter votre fonction lambda à unlaunch.json
fichier. A CodeLens apparaît au-dessus de la fonction et inclut leAdd Debug Config
lien.-
ChoisissezGo (icône de la loupe) sur la gauche de l'IDE, puis entrez « sam hint » pour afficher la commande
AWS: Toggle SAM hints in source files
. Choisissez la commande à exécuter. Fermez votre fichier de code source Lambda, puis rouvrez-le.
-
Si le code source CodeLens est disponible après avoir rouvert le fichier, choisissez d'
Add Debug Config
ajouter la configuration de lancement.
Si vous ne parvenez pas à ajouter CodeLens un événement après avoir activé l'option SAM hint, procédez comme suit pour ajouter la configuration de lancement :
-
ChoisissezGo (icône de la loupe) sur la gauche de l'EDI, puis entrez « config » pour afficher la commande
AWS: SAM Debug Configuration Editor
. Choisissez la commande à exécuter. -
L'éditeur SAM Debug Configuration Editor (Configuration de débogage SAM) s'affiche. Vous pouvez utiliser cet éditeur pour définir les propriétés de configuration du lancement. Pour plus d'informations, consultez l'étape de configuring launch properties dans Utilisation de modèles SAM pour exécuter et déboguer les applications sans serveur.
Note
Si votre fonction Lambda ne dispose pas d'un fichier
template.yaml
pour les applications SAM, vous devez en ajouter un. Pour de plus amples informations, veuillez consulter Créer votre modèle SAM AWS. -
Une fois que vous avez terminé de saisir les informations de configuration requises dans l'éditeur, votre configuration de lancement est ajoutée dans le fichier launch.json.
-
Une fois que vous avez défini une configuration de lancement pour votre fonction Lambda, vous pouvez l'exécuter en procédant comme suit :
Dans le haut de l'EDI, choisissez la flèche en regard de Auto et sélectionnez la configuration de lancement appropriée.
Ensuite, choisissez Exécuter.
Chargement d'une fonction Lambda
Vous pouvez mettre à jour les fonctions Lambda existantes avec du code local. La mise à jour du code de cette manière n'utilise pas la AWS Serverless Application Model CLI pour le déploiement et ne crée pas de AWS CloudFormation pile. De cette façon, vous pouvez charger une fonction Lambda avec n'importe quel environnement d'exécution pris en charge par Lambda.
Il existe plusieurs options d'interface pour télécharger des fonctions Lambda à l'aide AWS du Toolkit.
-
Dans la fenêtre Environment (Environnement) de vos fichiers de projet, choisissez le menu contextuel (clic droit) du fichier
template.yaml
de l'application Lambda que vous voulez charger et choisissez Upload Lambda (Chargement Lambda).Vous pouvez également appuyer sur Ctrl+P pour ouvrir le volet Go to Anything et saisir « lambda » pour accéder à la commande Upload AWS Lambda. Ensuite, choisissez-la pour démarrer le processus de chargement.
-
Ensuite, sélectionnez l'annonce vers Région AWS laquelle vous souhaitez effectuer le téléchargement.
-
Choisissez maintenant une option pour charger votre fonction Lambda :
Chargement d'une archive .zip
-
Choisissez Archives ZIP dans le menu.
-
Choisissez un fichier .zip dans votre système de AWS Cloud9 fichiers, puis cliquez sur Ouvrir.
Chargement d'un répertoire tel quel
-
Choisissez Répertoire dans le menu.
-
Choisissez un répertoire dans votre système de AWS Cloud9 fichiers, puis cliquez sur Ouvrir.
-
Spécifiez le gestionnaire de fonctions Lambda qui traite les événements. Lorsque votre fonction est appelée, Lambda exécute la méthode du gestionnaire.
Note
Lorsque vous sélectionnez votre fonction Lambda, vous pouvez effectuer une sélection dans la liste qui s'affiche. Si vous ne savez pas quelle fonction choisir, vous pouvez entrer l'ARN (Amazon Resource Number) d'une fonction Lambda disponible dans Toolkit.
Une boîte de dialogue s'affiche pour vous demander si vous souhaitez que ce code soit publié en tant que dernière version de la fonction Lambda. Choisissez Oui pour confirmer la publication.
Note
Vous pouvez également charger des applications Lambda en ouvrant le menu contextuel (clic droit) du dossier parent sur le dossier et en sélectionnant Upload Lambda (Chargement Lambda). Le dossier parent est automatiquement sélectionné pour le chargement.
-
Dans AWS Explorer, ouvrez le menu contextuel (clic droit) pour le nom de la fonction Lambda que vous voulez importer.
-
Choisissez Charger une fonction Lambda.
-
Choisissez parmi les trois options pour charger votre fonction Lambda.
Chargement d'une archive .zip précréée
-
Choisissez Archives ZIP dans le menu.
-
Choisissez un fichier .zip dans votre système de AWS Cloud9 fichiers, puis cliquez sur Ouvrir.
-
Confirmez le chargement avec la boîte de dialogue modale. Vous chargez ainsi le fichier .zip, et la fonction Lambda est immédiatement mise à jour après le déploiement.
Chargement d'un répertoire tel quel
-
Choisissez Répertoire dans le menu.
-
Choisissez un répertoire dans votre système de AWS Cloud9 fichiers, puis cliquez sur Ouvrir.
-
Choisissez Non lorsque vous êtes invité à créer le répertoire.
-
Confirmez le chargement avec la boîte de dialogue modale. Vous chargez ainsi le répertoire tel quel, et la fonction Lambda est mise à jour immédiatement après le déploiement.
Création et chargement d'un répertoire
-
Choisissez Répertoire dans le menu.
-
Choisissez un répertoire dans votre système de AWS Cloud9 fichiers, puis cliquez sur Ouvrir.
-
Choisissez Oui lorsque vous êtes invité à créer le répertoire.
-
Confirmez le chargement avec la boîte de dialogue modale. Cela génère le code dans le répertoire à l'aide de la
sam build
commande AWS SAM CLI et met immédiatement à jour le Lambda après le déploiement.
-
Déploiement d'une fonction Lambda pour un accès à distance
Vous pouvez rendre vos fonctions locales disponibles à distance en les déployant en tant qu'applications SAM sans serveur.
Pour déployer une fonction Lambda en tant qu'application SAM
-
Dans AWS Explorer, ouvrez le menu contextuel (clic droit) du nœud Lambda, et choisissez Deploy SAM Application (Déployer une application SAM).
-
Dans le volet de commandes, sélectionnez le Modèle YAML qui définit votre fonction comme une application sans serveur.
-
Sélectionnez ensuite un compartiment Amazon S3 pour le déploiement Lambda. Vous pouvez également choisir de créer un compartiment pour le déploiement.
-
Entrez maintenant le nom de la AWS CloudFormation pile sur laquelle vous souhaitez effectuer le déploiement. Si vous spécifiez une pile existante, la commande met à jour la pile. Si vous spécifiez une nouvelle pile, celle-ci est créé par la commande
Une fois que vous avez entré le nom de la pile, votre fonction Lambda commence à se déployer en tant qu'application SAM. Après un déploiement réussi, l'application SAM Lambda est disponible à distance. Ainsi, vous pouvez le télécharger ou l'invoquer depuis d'autres environnements de AWS Cloud9 développement.
Si vous souhaitez créer une fonction Lambda à partir de zéro, nous vous recommandons de suivre les étapes suivantes pour Création d'une application sans serveur à l'aide de la boîte à outils AWS.
Suppression d'une fonction Lambda
Vous pouvez également supprimer une fonction Lambda en utilisant le même menu contextuel (clic droit).
Avertissement
N'utilisez pas cette procédure pour supprimer les fonctions Lambda qui sont associées à AWS CloudFormation. Par exemple, ne supprimez pas la fonction Lambda qui a été créée lors de la création d'une application sans serveur plus tôt dans ce guide. Ces fonctions doivent être supprimées via la pile AWS CloudFormation .
-
Dans AWS Explorer, choisissez le nom de la fonction Lambda à supprimer, puis ouvrez son menu contextuel (menu de droite).
-
Sélectionnez Delete (Supprimer).
-
Dans le message qui s'affiche, choisissez Oui pour confirmer la suppression.
Une fois la fonction supprimée, elle disparaît dans AWS Explorer.