UpdateFunctionConfiguration - AWS Lambda

UpdateFunctionConfiguration

Modifiez les paramètres d’une fonction Lambda spécifiques de sa version.

Lorsque vous mettez à jour une fonction, Lambda approvisionne une instance de la fonction et ses ressources associées. Si votre fonction se connecte à un VPC, ce processus peut prendre une minute. Pendant ce temps, vous ne pouvez pas modifier la fonction, mais vous pouvez toujours l’appeler. Les champs LastUpdateStatus, LastUpdateStatusReason et LastUpdateStatusReasonCode dans la réponse de GetFunctionConfiguration indiquent quand la mise à jour est terminée et que la fonction traite les événements avec la nouvelle configuration. Pour plus d’informations, consultez la section États de fonction.

Ces paramètres peuvent varier selon les versions d’une fonction, et sont verrouillés lorsque vous publiez une version. Vous ne pouvez pas modifier la configuration d’une version publiée, mais uniquement celui d’une version non publiée.

Pour configurer la simultanéité de la fonction, utilisez PutFunctionConcurrency. Pour accorder des autorisations d’appel à un compte ou à un service AWS, utilisez AddPermission

Syntaxe de la demande

PUT /2015-03-31/functions/FunctionName/configuration HTTP/1.1 Content-type: application/json { "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Variables": { "string" : "string" } }, "EphemeralStorage": { "Size": number }, "FileSystemConfigs": [ { "Arn": "string", "LocalMountPath": "string" } ], "Handler": "string", "ImageConfig": { "Command": [ "string" ], "EntryPoint": [ "string" ], "WorkingDirectory": "string" }, "KMSKeyArn": "string", "Layers": [ "string" ], "MemorySize": number, "RevisionId": "string", "Role": "string", "Runtime": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "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 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.

DeadLetterConfig

Une configuration de file d’attente de lettres mortes qui spécifie la file d’attente ou la rubrique où Lambda envoie les événements asynchrones lorsqu’ils échouent au traitement. Pour plus d’informations, consultez la section Files d’attente de lettres mortes.

Type : objet DeadLetterConfig

Obligatoire : non

Description

Description de la fonction.

Type : chaîne

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

Obligatoire : non

Environment

Les variables d’environnement qui sont accessibles à partir du code de fonction au cours de l’exécution.

Type : objet Environment

Obligatoire : non

EphemeralStorage

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

Type : objet EphemeralStorage

Obligatoire : non

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.

Obligatoire : non

Handler

Nom de la méthode au sein de votre code que Lambda appelle pour exécuter votre fonction. Le gestionnaire est requis si le package de déploiement est une archive de fichier .zip. Le format inclut le nom de fichier. Il peut également inclure des espaces de noms et d’autres qualificateurs, selon l’exécution. Pour de plus amples informations, veuillez consulterModèle de programmation.

Type : chaîne

Contraintes de longueur : Longueur maximum de 128.

Modèle : [^\s]+

Obligatoire : non

ImageConfig

Valeurs de configuration d’image de conteneur qui remplacent les valeurs du fichier Docker d’image de conteneur.

Type : objet ImageConfig

Obligatoire : non

KMSKeyArn

ARN de la clé AWS Key Management Service (AWS KMS) utilisée pour chiffrer les variables d’environnement de votre fonction. Si elle n’est pas fournie, AWS Lambda utilise une clé de service par défaut.

Type : chaîne

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

Obligatoire : non

Layers

Liste des couches de fonction à ajouter à l’environnement d’exécution de la fonction. Spécifiez chaque couche par son ARN, y compris la version.

Type : tableau de chaînes

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

Modèle : arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+

Obligatoire : non

MemorySize

Quantité de mémoire disponible pour la fonction lors de l’exécution. L’augmentation de la mémoire de la fonction augmente également son allocation d’UC. La valeur par défaut est de 128 Mo. La valeur peut être n’importe quel multiple de 1 Mo.

Type : entier

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

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

Role

L’Amazon Resource Name (ARN) du 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+=,.@\-_/]+

Obligatoire : non

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.

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

Obligatoire : non

Timeout

Durée (en secondes) pendant laquelle Lambda autorise l’exécution d’une fonction avant de l’arrêter. Le durée par défaut est de 3 secondes. La valeur maximum autorisée est de 900 secondes. Pour plus d’informations, consultez la section Environnement d’exécution Lambda.

Type : entier

Plage valide : Valeur minimum de 1.

Obligatoire : non

TracingConfig

Définissez Mode sur Active pour échantillonner et suivre un sous-ensemble de demandes entrantes avec X-Ray.

Type : objet TracingConfig

Obligatoire : non

VpcConfig

Pour une connectivité réseau vers des ressources AWS dans un VPC, spécifiez une liste de groupes de sécurité et de sous-réseaux dans le VPC. Lorsque vous vous connectez une fonction à un VPC, il peut uniquement accéder aux ressources et Internet via ce VPC. Pour de plus amples informations, veuillez consulter Paramètres VPC.

Type : objet VpcConfig

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" } ], "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "SigningJobArn": "string", "SigningProfileVersionArn": "string", "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "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.

Type : objet EnvironmentResponse

EphemeralStorage

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

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 clé AWS KMS key qui est utilisée pour chiffrer les variables d’environnement 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

Layers

Couches de la fonction.

Type : tableau d’objets Layer

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

Environnement d’exécution de la fonction Lambda.

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

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})?:(.*)

State

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

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 appeler ni modifier la fonction.

Type : chaîne

Valeurs valides : Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage

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

CodeSigningConfigNotFoundException

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

Code d’état HTTP : 404

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é. Lambda bloque toujours le déploiement si le contrôle d’intégrité échoue, 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

Le RevisionId fourni ne correspond pas au dernier RevisionId pour la fonction ou l’alias Lambda. Appelez l’API GetFunction ou GetAlias pour récupérer le dernier RevisionId d’une 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.

Code d’état HTTP : 429

Voir 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 :