Déploiement des fonctions Lambda comme des archives de fichiers .zip - AWS Lambda

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.

Déploiement des fonctions Lambda comme des archives de fichiers .zip

Lorsque vous créez une fonction Lambda, vous empaquetez le code de votre fonction dans un package de déploiement. Lambda prend en charge deux types de packages de déploiement : les images conteneurs et les archives de fichier .zip. Le flux de travail de création d'une fonction dépend du type de package de déploiement. Pour configurer une fonction définie en tant qu'image de conteneur, consultez Création d'une fonction Lambda à l'aide d'une image de conteneur.

Vous pouvez utiliser la console Lambda et le Lambda API pour créer une fonction définie avec une archive de fichier .zip. Vous pouvez également charger un fichier .zip mis à jour pour modifier le code de la fonction.

Note

Vous ne pouvez pas modifier le type de package de déploiement (.zip ou image de conteneur) pour une fonction existante. Par exemple, vous ne pouvez pas convertir une fonction d'image de conteneur pour utiliser une archive de fichier .zip. Vous devez créer une nouvelle fonction.

Création de la fonction

Lorsque vous créez une fonction définie avec une archive de fichiers .zip, vous choisissez un modèle de code, la version du langage et le rôle d'exécution pour la fonction. Vous ajoutez votre code de fonction après que Lambda a créé la fonction.

Pour créer la fonction
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez Create function (Créer une fonction).

  3. Choisissez Créer à partir de zéro ou Utiliser un plan pour créer votre fonction.

  4. Sous Informations de base, procédez comme suit :

    1. Pour Function name (Nom de la fonction), saisissez le nom de la fonction. Les noms de fonctions sont limités à 64 caractères.

    2. Pour Runtime, sélectionnez la version du langage à utiliser pour votre fonction.

    3. (Facultatif) Pour Architecture, choisissez l'architecture de l'ensemble des instructions pour utiliser la fonction. L'architecture par défaut est x86_64. Lorsque vous créez le package de déploiement de la fonction, assurez-vous qu'il est compatible avec cette architecture de l'ensemble des instructions.

  5. (Facultatif) Sous Permissions (Autorisations), développez Change default execution role (Modifier le rôle d'exécution par défaut). Vous pouvez créer un rôle d'exécution ou utiliser un rôle existant.

  6. (Facultatif) Développez Advanced settings (Paramètres avancés). Vous pouvez choisir une Configuration de signature de code pour la fonction. Vous pouvez également configurer un (AmazonVPC) pour que la fonction puisse accéder.

  7. Sélectionnez Créer une fonction.

Lambda crée la nouvelle fonction. Vous pouvez désormais utiliser la console pour ajouter le code de fonction et configurer d'autres paramètres et caractéristiques de la fonction. Pour obtenir des instructions de déploiement de code, consultez la page du gestionnaire pour l'exécution utilisée par votre fonction.

Node.js

Déployer des fonctions Lambda en Node.js avec des archives de fichiers .zip

Python

Travailler avec des archives de fichiers .zip pour les fonctions Lambda Python

Ruby

Déployer des fonctions Lambda en Ruby avec des archives de fichiers .zip

Java

Déployez des fonctions Java Lambda avec des archives .zip ou de fichiers JAR

Go

Déployer des fonctions Lambda Go avec des archives de fichiers .zip

C#

Créez et déployez des fonctions Lambda C# à l’aide des archives de fichiers .zip

PowerShell

Déployer des fonctions PowerShell Lambda avec des archives de fichiers .zip

Utilisation de l'éditeur de code de la console

La console crée une fonction Lambda avec un seul fichier source. Pour le scripting, vous pouvez modifier ce fichier et ajouter des fichiers à l'aide de l'éditeur de code intégré. Choisissez Save pour enregistrer les changements. Ensuite, pour exécuter votre code, choisissez Test.

Lorsque vous enregistrez votre code de fonction, la console Lambda crée un package de déploiement d’archive de fichiers .zip. Lorsque vous développez votre code de fonction en dehors de la console (à l'aide d'unIDE), vous devez créer un package de déploiement pour télécharger votre code dans la fonction Lambda.

Mise à jour du code de fonction

Pour le scripting (Node.js, Python et Ruby), vous pouvez modifier votre code de fonction dans l'éditeur intégré. Si ce code est d'une taille supérieure à 3 Mo, si vous devez ajouter des bibliothèques ou dans le cas des langages que l'éditeur ne prend pas en charge (Java, Go, C#), vous devez charger le code de votre fonction en tant qu'archive .zip. Si l'archive de fichier .zip est d'une taille inférieure à 50 Mo, vous pouvez charger l'archive de fichier .zip à partir de votre machine locale. Si le fichier est d'une taille supérieure à 50 Mo, chargez le fichier dans la fonction à partir d'un compartiment Amazon S3.

Pour charger le code de fonction en tant qu'archive .zip
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet Code.

  3. Sous Code source (Source du code), sélectionnez Upload from (Charger depuis).

  4. Choisissez .zip file (fichier .zip), puis Upload (Charger).

    1. Dans le sélecteur de fichiers, sélectionnez la nouvelle version de l'image et choisissez Open (Ouvrir), puis Save (Enregistrer).

  5. (Alternative à l'étape 4) Choisissez Emplacement Amazon S3.

    1. Dans la zone de texte, entrez le lien S3 URL de l'archive de fichiers .zip, puis choisissez Enregistrer.

Modification de l'environnement d'exécution

Si vous mettez à jour la configuration de la fonction pour utiliser un nouvel environnement d'exécution, vous devrez peut-être mettre à jour le code de la fonction pour qu'il soit compatible avec la nouvelle version. Si vous mettez à jour la configuration de la fonction pour utiliser une autre exécution, vous devez fournir un nouveau code de fonction compatible avec l'exécution et l'architecture. Pour obtenir des instructions sur comment créer un package de déploiement pour le code de la fonction, consultez la page du gestionnaire de l'exécution utilisé par la fonction.

Le Node.js 20, Python 3.12, Java 21,. NETLes images de base 8, Ruby 3.3 et versions ultérieures sont basées sur l'image de conteneur minimale Amazon Linux 2023. Les images de base antérieures utilisaient Amazon Linux 2. AL2Le 023 offre plusieurs avantages par rapport à Amazon Linux 2, notamment un encombrement de déploiement réduit et des versions mises à jour de bibliothèques telles queglibc. Pour plus d’informations, consultez Présentation de l’environnement d’exécution Amazon Linux 2023 pour AWS Lambda sur le blog AWS Compute.

Pour modifier l'environnement d'exécution
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet Code.

  3. Faites défiler jusqu'à la section Runtime settings (Paramètres d'exécution), qui se trouve sous l'éditeur de code.

  4. Choisissez Modifier.

    1. Pour Runtime (Environnement d'exécution), sélectionnez l'identifiant de l'environnement d'exécution.

    2. Pour Gestionnaire, spécifiez le nom de fichier et gestionnaire de votre fonction.

    3. Pour Architecture, choisissez l'architecture de l'ensemble des instructions pour utiliser votre fonction.

  5. Choisissez Save (Enregistrer).

Modification de l'architecture

Avant de pouvoir modifier l'architecture de l'ensemble des instructions, vous devez vous assurer que le code de la fonction est compatible avec l'architecture cible.

Si vous utilisez Node.js, Python ou Ruby et que vous modifiez le code de fonction dans l'éditeur, le code existant peut s'exécuter sans modification.

Toutefois, si vous fournissez le code de fonction en utilisant un package de déploiement d'archives de fichiers .zip, vous devez préparer une nouvelle archive de fichiers .zip compilée et créée correctement pour l'exécution cible et l'architecture de l'ensemble des instructions. Pour obtenir des instructions, veuillez consulter la page du gestionnaire d'exécution de la fonction.

Pour modifier l'architecture de l'ensemble des instructions
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction à mettre à jour, puis choisissez l'onglet Code.

  3. Sous Paramètres du runtime, choisissez Modifier.

  4. Pour Architecture, choisissez l'architecture de l'ensemble des instructions pour utiliser votre fonction.

  5. Choisissez Save (Enregistrer).

Utilisation du Lambda API

Pour créer et configurer une fonction qui utilise une archive de fichier .zip, effectuez les API opérations suivantes :

AWS CloudFormation

Vous pouvez l'utiliser AWS CloudFormation pour créer une fonction Lambda qui utilise une archive de fichiers .zip. Dans votre AWS CloudFormation modèle, la AWS::Lambda::Function ressource spécifie la fonction Lambda. Pour une description des propriétés de la AWS::Lambda::Function ressource, voir AWS: :Lambda : :Function dans le guide de l'AWS CloudFormation utilisateur.

Dans la ressource AWS::Lambda::Function, définissez les propriétés suivantes pour créer une fonction définie en tant qu'archive de fichiers .zip :

  • AWS: :Lambda : :Function

    • PackageType — Réglé surZip.

    • Code – Saisissez le nom du compartiment Amazon S3 et le nom du fichier .zip dans les champs S3Bucket et S3Key. Pour Node.js ou Python, vous pouvez fournir le code source inclus de votre fonction Lambda.

    • Runtime – Définissez la valeur du runtime.

    • Architecture — Définissez la valeur de l'architecture arm64 pour utiliser le processeur AWS Graviton2. La valeur de l'architecture par défaut est x86_64.