Versions de 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.

Versions de 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 non publiée 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 $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 plus d’informations, consultez Mises à jour de l’environnement d’exécution Lambda.

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'opération PublishVersionAPI.

La AWS CLI commande suivante publie une nouvelle version d'une fonction. La réponse renvoie les informations de configuration relatives à la nouvelle version, y compris le numéro de version et l’ARN de la fonction 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 à l’aide d’un ARN qualifié ou d’un ARN non qualifié.

  • ARN qualifié – ARN de la fonction avec 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
  • ARN non qualifié – ARN de la fonction sans suffixe de version.

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

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

Si vous décidez de ne pas publier de versions de fonction, vous pouvez invoquer la fonction à l’aide de l’ARN qualifié ou non qualifié dans votre mappage source d’événement. Lorsque vous invoquez une fonction à l’aide d’un ARN non qualifié, Lambda 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.

L’ARN qualifié pour chaque version de fonction Lambda est unique. Après avoir publié une version, vous ne pouvez pas modifier l’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 Ressources et conditions pour les actions Lambda.

Vous pouvez simplifier la gestion des sources d'événements et des politiques AWS Identity and Access Management (IAM) en utilisant des alias de fonction. Pour plus d'informations, voir Alias de fonction Lambda.