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.

Après avoir 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 AWS CloudFormation avec 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 chargement depuis Amazon S3, vous pouvez choisir si Lambda copie le code vers le Lambda-managed stockage ou s'il y fait 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. Si vous avez choisi de charger depuis Amazon S3, dans Mode de stockage du code, choisissez l'une des options suivantes :

    • Mode copie (par défaut)

    • Mode de référence

  7. (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.

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

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

  10. Choisissez Créer.

Vous pouvez également exécuter la commande publish-layer-version AWS Command Line Interface (CLI). Lors du 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 DeleteLayerVersion API. Par exemple, exécutez la AWS CLI commande delete-layer-version avec le nom et la version de la 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 faisant 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 un nom de couche.

Impact de la suppression de couches sur les quotas de stockage

L'impact de la suppression d'une version de couche sur le quota de stockage 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 la 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 ne compte plus 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 un stockage de code S3 autogéré ne consomment pas Lambda-managed de stockage. Leur suppression n'a donc aucun impact 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 fonctionner 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 de la version d'une couche ne désactive jamais les fonctions qui y font référence. Les fonctions sont Active conservées, qu'il s'agisse de la couche utilisée Lambda-managed ou du stockage S3 autogéré. L'Inactiveétat s'applique uniquement lorsque Lambda perd l'accès au code source d'une fonction stocké dans un compartiment S3 autogéré.