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 Utilisation de couches Lambda.

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 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 plus d’informations, consultez Architectures de jeux d'instructions Lambda (ARM/x86).

  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 utiliser l'PublishLayerVersionAPI pour créer une couche. Par exemple, vous pouvez utiliser la commande AWS Command Line Interface (CLI) publish-layer-version avec un nom, une description et une archive .zip spécifiés. Les paramètres relatifs à la licence, aux exécutions compatibles et à l’architecture compatible sont facultatifs.

aws lambda publish-layer-version --layer-name my-layer \ --description "My layer" \ --license-info "MIT" \ --zip-file fileb://layer.zip \ --compatible-runtimes python3.10 python3.11 \ --compatible-architectures "arm64" "x86_64"

Vous devez voir des résultats similaires à ce qui suit :

{ "Content": { "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...", "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", "CodeSize": 169 }, "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Description": "My layer", "CreatedDate": "2023-11-14T23:03:52.894+0000", "Version": 1, "CompatibleArchitectures": [ "arm64", "x86_64" ], "LicenseInfo": "MIT", "CompatibleRuntimes": [ "python3.10", "python3.11" ] }

Chaque fois que vous appelez publish-layer-version, vous créez une nouvelle version de la couche.

Suppression d’une version de couche

Pour supprimer une version de couche, utilisez l'DeleteLayerVersionAPI. Par exemple, vous pouvez utiliser la commande CLI 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 fonction Lambda pour l’utiliser. En revanche, toute fonction qui utilise déjà la version continue d’y avoir accès. De plus, Lambda ne réutilise jamais les numéros de version pour le nom d’une couche.