View a markdown version of this page

Création et suppression de couches dans Lambda - 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.

Création et suppression de couches dans Lambda

Une couche Lambda est une archive de fichier .zip qui contient du code ou des données supplémentaires. Les couches contiennent généralement des dépendances de bibliothèque, une exécution personnalisée, ou des fichiers de configuration.

Cette section explique comment créer et supprimer des couches dans Lambda. Pour plus d’informations conceptuelles sur les couches et les raisons pour lesquelles vous pourriez envisager de les utiliser, consultez Gestion des dépendances Lambda à l’aide de couches.

Une fois que vous avez empaqueté le contenu de votre couche, l’étape suivante consiste à créer la couche dans Lambda. Cette section explique comment créer et supprimer des couches à l’aide de la console Lambda ou de l’API Lambda uniquement. Pour créer une couche à l’aide d’ AWS CloudFormation, consultez Utilisation de AWS CloudFormation avec des couches. Pour créer une couche à l’aide d’ AWS Serverless Application Model (AWS SAM), consultez Utilisation de AWS SAM avec des couches.

Création d’une couche

Pour créer une couche, vous pouvez soit charger l’archive du fichier .zip depuis votre ordinateur local, soit depuis Amazon Simple Storage Service (Amazon S3). Lors du téléchargement depuis Amazon S3, vous pouvez choisir si Lambda copie le code Lambda-managed vers le stockage ou le référence directement depuis votre compartiment S3. Pour de plus amples informations, veuillez consulter Self-managed Stockage de code S3.

Lors de la configuration de l’environnement d’exécution pour la fonction, Lambda extrait le contenu de la couche dans le répertoire /opt.

Les couches peuvent avoir une ou plusieurs versions de couche. Lorsque vous créez une couche, Lambda définit la version de la couche sur version 1. Vous pouvez modifier les autorisations sur une version de couche existante à tout moment. Toutefois, pour mettre à jour le code ou apporter d’autres modifications de configuration, vous devez créer une nouvelle version de la couche.

Pour créer une couche (console)
  1. Ouvrez la page Couches de la console Lambda.

  2. Sélectionnez Créer un calque.

  3. Sous Configuration de la couche, dans Nom, nommez votre couche.

  4. (Facultatif) Dans le champ Description, saisissez une description pour le calque.

  5. Pour télécharger le code de votre couche, effectuez l’une des opérations suivantes :

    • Pour charger un fichier .zip à partir de votre ordinateur, choisissez Charger un fichier .zip. Puis, sélectionnez Charger pour sélectionner votre fichier .zip local.

    • Pour charger un fichier à partir d’Amazon S3, choisissez Charger un fichier à partir d’Amazon S3. Ensuite, pour l’URL du lien Amazon S3, saisissez un lien vers le fichier.

  6. (Facultatif) Pour Architectures compatibles, choisissez une valeur ou les deux valeurs. Pour de plus amples informations, veuillez consulter Sélection et configuration d’une architecture de jeu d’instructions pour votre fonction Lambda.

  7. (Facultatif) Pour Exécutions compatibles, choisissez les exécutions avec lesquelles votre couche est compatible.

  8. (Facultatif) Pour Licence, saisissez toutes les informations de licence nécessaires.

  9. Choisissez Créer.

Vous pouvez également exécuter la commande publish-layer-version AWS Command Line Interface (CLI). Lors du téléchargement depuis Amazon S3, incluez-le S3ObjectStorageMode=REFERENCE pour utiliser le stockage de code S3 autogéré, ou omettez-le (par défautCOPY) pour utiliser le stockage. Lambda-managed Exemple :

aws lambda publish-layer-version --layer-name my-layer --zip-file fileb://layer.zip --compatible-runtimes python3.14

Chaque fois que vous exécutez publish-layer-version, Lambda crée une nouvelle version de la couche.

Suppression d’une version de couche

Pour supprimer une version de couche, utilisez l'opération DeleteLayerVersionAPI. Par exemple, exécutez la AWS CLI commande delete-layer-version avec le nom de couche et la version de couche spécifiés.

aws lambda delete-layer-version --layer-name my-layer --version-number 1

Lorsque vous supprimez une version de couche, vous ne pouvez plus configurer de nouvelles fonctions pour l'utiliser. Cependant, toute fonction qui fait déjà référence à la version de couche supprimée continue de s'exécuter avec le contenu de cette couche. Lambda ne réutilise jamais les numéros de version pour le nom d'une couche.

Impact de la suppression de couches sur le quota de stockage

L'impact sur le quota de stockage de la suppression d'une version de couche dépend du mode de stockage utilisé par la couche et des fonctions qui la référencent.

La couche utilise Lambda-managed le stockage (COPY)

Lorsque vous supprimez une version de couche qui utilise le Lambda-managed stockage, le code de couche est supprimé du quota de Lambda-managed stockage de votre compte. Cependant, toute fonction qui fait toujours référence à la version de couche supprimée continue d'avoir accès au contenu de la couche. Le contenu de la couche est pris en compte dans le quota de taille du package de déploiement de la fonction (250 Mo décompressés) mais n'est plus pris en compte dans le quota de stockage au niveau du compte. Lambda-managed

La couche utilise un stockage S3 autogéré (RÉFÉRENCE)

Les couches qui utilisent le stockage de code S3 autogéré ne consomment pas d' Lambda-managed espace de stockage. Leur suppression n'a donc aucune incidence sur votre quota Lambda-managed de stockage. Les fonctions qui font référence à une version de couche autogérée supprimée continuent de s'exécuter normalement. Toutefois, si vous supprimez également l'objet source de votre compartiment S3 ou si vous révoquez l'accès de Lambda à celui-ci, vous ne pouvez plus mettre à jour la configuration des fonctions avec cette couche.

Note

La suppression d'une version de couche ne désactive jamais les fonctions qui y font référence. Les fonctions restent inchangées, qu'il s'Activeagisse de la couche utilisée Lambda-managed ou du stockage S3 autogéré. L'Inactiveétat ne s'applique que lorsque Lambda perd l'accès au code source d'une fonction stocké dans un compartiment S3 autogéré.