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

UpdateFunctionCode

Met à jour le code d’une fonction Lambda. Si la signature de code est activée pour la fonction, le package de code doit être signé par un éditeur de confiance. Pour plus d’informations, consultez Configuration de la signature de code pour Lambda.

Si le type de package de la fonction est Image, vous devez spécifier le package de code dans ImageUri comme URI d’une image de conteneur dans le registre Amazon ECR.

Si le type de package de la fonction est Zip, vous devez spécifier que le package de déploiement en tant qu’archive de fichiers de type .zip. Saisissez le compartiment Simple Storage Service (Amazon S3) et la clé de l’emplacement du fichier .zip. Vous pouvez également fournir le code de fonction en ligne à l’aide du domaine ZipFile.

Le code du package de déploiement doit être compatible avec l’architecture de l’ensemble des instructions cible de la fonction (x86-64 ou arm64).

Le code de la fonction est verrouillé lorsque vous publiez une version. Vous ne pouvez pas modifier le code d’une version publiée, mais uniquement celui d’une version non publiée.

Note

Pour une fonction définie en tant qu’image conteneur, Lambda résout l’étiquette d’image en hachage d’image. Dans Amazon ECR, si vous mettez à jour l’étiquette d’image vers une nouvelle image, Lambda ne met pas automatiquement à jour la fonction.

Syntaxe de la demande

PUT /2015-03-31/functions/FunctionName/code HTTP/1.1 Content-type: application/json { "Architectures": [ "string" ], "DryRun": boolean, "ImageUri": "string", "Publish": boolean, "RevisionId": "string", "S3Bucket": "string", "S3Key": "string", "S3ObjectVersion": "string", "ZipFile": blob }

Paramètres de demande URI

La demande utilise les paramètres URI suivants.

FunctionName

Nom de la fonction Lambda.

Formats de nom
  • Nom de fonctionmy-function.

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

  • ARN partiel123456789012:function:my-function.

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.

Architectures

Architecture de l’ensemble des instructions prise en charge par la fonction. Saisissez un tableau de chaînes avec l’une des valeurs valides (arm64 ou x86_64). La valeur 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

Obligatoire : non

DryRun

Définissez sur true pour valider les paramètres de demande et les autorisations d’accès sans modifier le code de la fonction.

Type : valeur booléenne

Obligatoire : non

ImageUri

URI d’une image de conteneur dans le registre Amazon ECR. Ne l’utilisez pas pour une fonction définie avec une archive de fichiers de type .zip.

Type : chaîne

Obligatoire : non

Publish

Définissez sur VRAI pour publier une nouvelle version de la fonction après la mise à jour du code. Cela a le même effet que l’appel de PublishVersion séparément.

Type : valeur booléenne

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 modifier une fonction qui a changé depuis la dernière lecture.

Type : chaîne

Obligatoire : non

S3Bucket

Compartiment Amazon S3 situé dans la même Région AWS que votre fonction. Le compartiment peut se trouver sur un autre Compte AWS. Utilisez-le uniquement avec une fonction définie avec un package de déploiement d’archive de fichiers de type .zip.

Type : chaîne

Contraintes de longueur : Longueur minimum de 3. Longueur maximum de 63.

Modèle : ^[0-9A-Za-z\.\-_]*(?<!\.)$

Obligatoire : non

S3Key

Clé Amazon S3 du package de déploiement. Utilisez-le uniquement avec une fonction définie avec un package de déploiement d’archive de fichiers de type .zip.

Type : chaîne

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

Obligatoire : non

S3ObjectVersion

Pour les objets versionnés, la version de l’objet de package de déploiement à utiliser.

Type : chaîne

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

Obligatoire : non

ZipFile

Contenu codé en base64 du package de déploiement. AWS Le kit SDK et les clients AWS CLI gèrent l’encodage pour vous. Utilisez-le uniquement avec une fonction définie avec un package de déploiement d’archive de fichiers de type .zip.

Type : objet de données binaires encodées en base64

Obligatoire : non

Syntaxe de la réponse

HTTP/1.1 200 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 200.

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.

CodeSigningConfigNotFoundException

La configuration de signature de code spécifiée n’existe pas.

Code d’état HTTP : 404

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

CodeVerificationFailedException

La signature de code a échoué à au moins un contrôle de validation pour cause de non-concordance ou d’expiration de signature, et la politique de signature de code est définie sur ENFORCE. Lambda bloque le déploiement.

Code d’état HTTP : 400

InvalidCodeSignatureException

La signature du code a échoué au contrôle d’intégrité. Si le contrôle d’intégrité échoue, Lambda bloque le déploiement, même si la politique de signature de code est définie sur WARN.

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 :