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

PublishVersion

Crée une version à partir du code et de la configuration actuels d’une fonction. Utilisez des versions pour créer un instantané de votre code de fonction et une configuration qui ne change pas.

AWS Lambda ne publie pas de version si la configuration et le code de la fonction n’ont pas changé depuis la dernière version. Utilisez UpdateFunctionCode ou UpdateFunctionConfiguration pour mettre à jour la fonction avant de publier une version.

Les clients peuvent invoquer des versions directement ou avec un alias. Pour créer un alias, utilisez CreateAlias.

Syntaxe de la demande

POST /2015-03-31/functions/FunctionName/versions HTTP/1.1 Content-type: application/json { "CodeSha256": "string", "Description": "string", "RevisionId": "string" }

Paramètres de demande URI

La demande utilise les paramètres URI suivants.

FunctionName

Nom de la fonction Lambda.

Formats de nom
  • Nom de fonctionMyFunction.

  • ARN de fonctionarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • ARN partiel123456789012:function:MyFunction.

Contrainte de longueur qui s’applique uniquement à l’ARN complet. Si vous spécifiez uniquement le nom de la fonction, ce dernier est limité à 64 caractères.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 140.

Modèle : (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Obligatoire : oui

Corps de la demande

Cette demande accepte les données suivantes au format JSON.

CodeSha256

Publiez uniquement une version si la valeur de hachage correspond à la valeur spécifiée. Utilisez cette option pour éviter de publier une version si le code de fonction a changé depuis la dernière mise à jour. Vous pouvez obtenir le hachage pour la version que vous avez chargée à partir de la sortie de UpdateFunctionCode.

Type : chaîne

Obligatoire : non

Description

Description de la version remplaçant la description dans la configuration de fonction.

Type : chaîne

Contraintes de longueur : Longueur minimum de 0. Longueur maximum de 256.

Obligatoire : non

RevisionId

Ne mettez à jour la fonction que si l’ID de révision correspond à l’ID spécifié. Utilisez cette option pour éviter de publier une version si la configuration de fonction a changé depuis la dernière mise à jour.

Type : chaîne

Obligatoire : non

Syntaxe de la réponse

HTTP/1.1 201 Content-type: application/json { "Architectures": [ "string" ], "CodeSha256": "string", "CodeSize": number, "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Error": { "ErrorCode": "string", "Message": "string" }, "Variables": { "string" : "string" } }, "EphemeralStorage": { "Size": number }, "FileSystemConfigs": [ { "Arn": "string", "LocalMountPath": "string" } ], "FunctionArn": "string", "FunctionName": "string", "Handler": "string", "ImageConfigResponse": { "Error": { "ErrorCode": "string", "Message": "string" }, "ImageConfig": { "Command": [ "string" ], "EntryPoint": [ "string" ], "WorkingDirectory": "string" } }, "KMSKeyArn": "string", "LastModified": "string", "LastUpdateStatus": "string", "LastUpdateStatusReason": "string", "LastUpdateStatusReasonCode": "string", "Layers": [ { "Arn": "string", "CodeSize": number, "SigningJobArn": "string", "SigningProfileVersionArn": "string" } ], "LoggingConfig": { "ApplicationLogLevel": "string", "LogFormat": "string", "LogGroup": "string", "SystemLogLevel": "string" }, "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "RuntimeVersionConfig": { "Error": { "ErrorCode": "string", "Message": "string" }, "RuntimeVersionArn": "string" }, "SigningJobArn": "string", "SigningProfileVersionArn": "string", "SnapStart": { "ApplyOn": "string", "OptimizationStatus": "string" }, "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "Ipv6AllowedForDualStack": boolean, "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcId": "string" } }

Eléments de réponse

Si l’action aboutit, le service renvoie une réponse HTTP 201.

Les données suivantes sont renvoyées au format JSON par le service.

Architectures

Architecture de l’ensemble des instructions prise en charge par la fonction. L’architecture est un tableau de chaînes avec l’une des valeurs valides. La valeur d’architecture par défaut est x86_64.

Type : tableau de chaînes

Membres du tableau : nombre fixe de 1 élément.

Valeurs valides : x86_64 | arm64

CodeSha256

Hachage SHA256 du package de déploiement de la fonction.

Type : chaîne

CodeSize

Taille du package de déploiement de la fonction, exprimée en octets.

Type : long

DeadLetterConfig

File d’attente de lettres mortes de la fonction.

Type : objet DeadLetterConfig

Description

Description de la fonction.

Type : chaîne

Contraintes de longueur : Longueur minimum de 0. Longueur maximum de 256.

Environment

Variables d’environnement de la fonction. Omis des journaux AWS CloudTrail.

Type : objet EnvironmentResponse

EphemeralStorage

Taille du répertoire /tmp de la fonction en Mo. La valeur par défaut est 512, mais peut être tout nombre entier compris entre 512 et 10 240 Mo. Pour plus d’informations, consultez la section Configuration du stockage éphémère (console).

Type : objet EphemeralStorage

FileSystemConfigs

Paramètres de connexion pour un système de fichiers Amazon EFS.

Type : tableau d’objets FileSystemConfig

Membres du tableau : nombre maximum de 1 élément.

FunctionArn

Amazon Resource Name (ARN) de la fonction.

Type : chaîne

Modèle : arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_\.]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionName

Nom de la fonction.

Type : chaîne

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 170.

Modèle : (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Handler

Fonction que Lambda appelle pour commencer à exécuter votre fonction.

Type : chaîne

Contraintes de longueur : Longueur maximum de 128.

Modèle : [^\s]+

ImageConfigResponse

Valeurs de configuration d’image de la fonction.

Type : objet ImageConfigResponse

KMSKeyArn

La AWS KMS key qui est utilisée pour chiffrer les variables d’environnement de la fonction. Lorsque Lambda SnapStart est activé, cette clé est également utilisée pour chiffrer l'instantané de la fonction. Cette clé est renvoyée uniquement si vous avez configuré une clé gérée par le client.

Type : chaîne

Modèle : (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

LastModified

Date et heure de la dernière mise à jour de la fonction, au format ISO-8601 (AAAA-MM-JJThh:mm:ss.sTZD).

Type : chaîne

LastUpdateStatus

État de la dernière mise à jour effectuée sur la fonction. Cette valeur est d’abord définie sur Successful une fois la création de la fonction terminée.

Type : chaîne

Valeurs valides : Successful | Failed | InProgress

LastUpdateStatusReason

Motif pour lequel la dernière mise à jour a été effectuée sur la fonction.

Type : chaîne

LastUpdateStatusReasonCode

Code motif pour lequel la dernière mise à jour a effectuée sur la fonction.

Type : chaîne

Valeurs valides : EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Layers

Couches de la fonction.

Type : tableau d’objets Layer

LoggingConfig

Les paramètres de configuration Amazon CloudWatch Logs de la fonction.

Type : objet LoggingConfig

MasterArn

Pour les fonctions Lambda @Edge, l’ARN de la fonction maître.

Type : chaîne

Modèle : arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

MemorySize

Quantité de mémoire disponible pour la fonction lors de l’exécution.

Type : entier

Plage valide : Valeur minimum de 128. Valeur maximum de 10 240.

PackageType

Type de package de déploiement. Spécifiez Image pour l’image de conteneur et Zip pour l’archive de fichier .zip.

Type : chaîne

Valeurs valides : Zip | Image

RevisionId

Dernière révision mise à jour de la fonction ou de l’alias.

Type : chaîne

Role

Rôle d’exécution de la fonction.

Type : chaîne

Modèle : arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Runtime

Identifiant de l’exécution de la fonction. L’exécution est requise si le package de déploiement est une archive de fichiers de type .zip.

La liste suivante contient les exécutions obsolètes. Pour plus d’informations, consultez la Politique d’obsolescence de l’exécution.

Type : chaîne

Valeurs valides : nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21

RuntimeVersionConfig

L’ARN de l’environnement d’exécution et toutes les erreurs qui se sont produites.

Type : objet RuntimeVersionConfig

SigningJobArn

ARN de la tâche de signature.

Type : chaîne

Modèle : arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SigningProfileVersionArn

ARN de la version du profil de signature.

Type : chaîne

Modèle : arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SnapStart

Définissez ApplyOn sur PublishedVersions pour créer un instantané de l’environnement d’exécution initialisé lorsque vous publiez une version de fonction. Pour plus d'informations, consultez Améliorer les performances de démarrage avec Lambda SnapStart.

Type : objet SnapStartResponse

State

État actuel de la fonction. Lorsque l’état est Inactive, vous pouvez réactiver la fonction en l’invoquant.

Type : chaîne

Valeurs valides : Pending | Active | Inactive | Failed

StateReason

Motif de l’état actuel de la fonction.

Type : chaîne

StateReasonCode

Code de motif de l’état actuel de la fonction. Lorsque le code est Creating, vous ne pouvez ni invoquer ni modifier la fonction.

Type : chaîne

Valeurs valides : Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Timeout

Durée en secondes pendant laquelle Lambda autorise l’exécution d’une fonction avant de l’arrêter.

Type : entier

Plage valide : valeur minimum de 1.

TracingConfig

Configuration du suivi AWS X-Ray de la fonction.

Type : objet TracingConfigResponse

Version

Version de la fonction Lambda.

Type : chaîne

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 1024.

Modèle : (\$LATEST|[0-9]+)

VpcConfig

Configuration réseau de la fonction.

Type : objet VpcConfigResponse

Erreurs

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.

CodeStorageExceededException

Votre Compte AWS a dépassé sa taille totale maximale de code. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 400

InvalidParameterValueException

L’un des paramètres dans la demande n’est pas valide.

Code d’état HTTP : 400

PreconditionFailedException

La valeur RevisionId fournie ne correspond pas à la dernière version de RevisionId la fonction ou de l'alias Lambda. Appelez l'opération GetFunction ou l'GetAliasAPI pour récupérer la dernière version RevisionId de votre ressource.

Code d’état HTTP : 412

ResourceConflictException

La ressource existe déjà ou une autre opération est en cours.

Code d’état HTTP : 409

ResourceNotFoundException

La ressource spécifiée dans la demande n’existe pas.

Code d’état HTTP : 404

ServiceException

Le service AWS Lambda a rencontré une erreur interne.

Code d’état HTTP : 500

TooManyRequestsException

La limite de débit de demande a été dépassée. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 429

consultez aussi

Pour plus d’informations sur l’utilisation de cette API dans l’un des kits SDK AWS spécifiques au langage, consultez les ressources suivantes :