Gérer les versions des fonctions 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.

Gérer les versions des fonctions Lambda

Vous pouvez utiliser des versions pour gérer le déploiement de vos fonctions. Par exemple, vous pouvez publier une nouvelle version d’une fonction à des fins de test bêta sans affecter les utilisateurs de la version de production stable. Lambda crée une nouvelle version de votre fonction chaque fois que vous la publiez. La nouvelle version est une copie de la version non publiée de la fonction. La version inédite est nommée$LATEST.

Note

Pour créer une nouvelle version de votre fonction, vous devez d'abord apporter des modifications à la version non publiée ($LATEST). Ces modifications peuvent inclure la mise à jour du code ou la modification des paramètres de configuration. Si elle $LATEST est identique à une version publiée précédemment, vous ne pourrez pas créer de nouvelle version tant que vous n'aurez pas déployé les modifications apportées à$LATEST.

Une fois que vous avez publié une version de fonction, son code, son environnement d'exécution, son architecture, sa mémoire, ses couches et la plupart des autres paramètres de configuration sont immuables. Cela signifie que vous ne pouvez pas modifier ces paramètres sans publier une nouvelle version à partir de$LATEST. Vous pouvez configurer les éléments suivants pour une version de fonction publiée :

Note

Lorsque vous utilisez les contrôles de gestion de l'exécution en mode automatique, la version d'exécution utilisée par la version de la fonction est automatiquement mise à jour. Lorsque vous utilisez le mode Function update (Mise à jour de fonction) ou Manual (Manuel), la version de l’environnement d’exécution n’est pas mise à jour. Pour de plus amples informations, veuillez consulter Comprendre comment Lambda gère les mises à jour des versions d'exécution.

Création de versions de fonction

Vous pouvez modifier le code et les paramètres de la fonction uniquement sur la version non publiée d’une fonction. Lorsque vous publiez une version, Lambda verrouille le code et la plupart des paramètres afin de préserver une expérience cohérente pour les utilisateurs de cette version.

Vous pouvez créer une version de fonction à l’aide de la console Lambda.

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

  2. Sélectionnez une fonction, puis choisissez Versions.

  3. Sur la page de configuration des versions, sélectionnez Publish new version (Publier une nouvelle version).

  4. (Facultatif) Entrez une description de la version.

  5. Choisissez Publish.

Vous pouvez également publier une version d'une fonction à l'aide de l'PublishVersionAPIopération.

La AWS CLI commande suivante publie une nouvelle version d'une fonction. La réponse renvoie des informations de configuration concernant la nouvelle version, notamment le numéro de version et la fonction ARN avec le suffixe de version.

aws lambda publish-version --function-name my-function

Vous devriez voir la sortie suivante :

{
  "FunctionName": "my-function",
  "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:1",
  "Version": "1",
  "Role": "arn:aws:iam::123456789012:role/lambda-role",
  "Handler": "function.handler",
  "Runtime": "nodejs20.x",
  ...
}
Note

Lambda attribue des numéros de séquence à croissance monotone pour la gestion des versions. Lambda ne réutilise jamais les numéros de version, même après avoir supprimé et recréé une fonction.

Utilisation des versions

Vous pouvez référencer votre fonction Lambda en utilisant une fonction qualifiée ARN ou non qualifiée. ARN

  • ARNQualifiée : fonction ARN dotée d'un suffixe de version. L’exemple suivant fait référence à la version 42 de la fonction helloworld.

    arn:aws:lambda:aws-region:acct-id:function:helloworld:42
  • Non qualifiée ARN : fonction ARN sans suffixe de version.

    arn:aws:lambda:aws-region:acct-id:function:helloworld

Vous pouvez utiliser un qualifié ou un non qualifié ARN dans toutes les API opérations pertinentes. Cependant, vous ne pouvez pas utiliser un nom non qualifié ARN pour créer un alias.

Si vous décidez de ne pas publier les versions des fonctions, vous pouvez invoquer la fonction qualifiée ou non qualifiée ARN dans le mappage des sources de votre événement. Lorsque vous appelez une fonction à l'aide d'une fonction non qualifiéeARN, Lambda l'invoque implicitement. $LATEST

Lambda publie une nouvelle version de fonction uniquement si le code n'a jamais été publié ou s'il a changé par rapport à la dernière version publiée. S’il n’y a pas de changement, la version de fonction publiée la plus récente reste active.

Le ARN qualificatif pour chaque version de fonction Lambda est unique. Une fois que vous avez publié une version, vous ne pouvez pas modifier le code ARN ou le code de fonction.

Octroi d’autorisations

Vous pouvez utiliser une stratégie basée sur les ressources ou une stratégie basée sur l’identité pour accorder l’accès à votre fonction. La portée de l’autorisation est dépendante du fait que vous appliquiez la stratégie à une fonction ou à une version d’une fonction. Pour de plus amples informations sur les noms de ressource de fonction dans les stratégies, veuillez consulter Affiner les sections Ressources et Conditions des politiques.

Vous pouvez simplifier la gestion des sources d'événements et AWS Identity and Access Management (IAM) des politiques en utilisant des alias de fonction. Pour de plus amples informations, veuillez consulter Création d'un alias pour une fonction Lambda.