UpdateFunctionCode - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

UpdateFunctionCode

Aggiorna il codice di una funzione Lambda. Se la firma del codice è abilitata per la funzione, il pacchetto di codice deve essere firmato da un'entità di pubblicazione attendibile. Per ulteriori informazioni, consulta Configurazione della firma del codice per Lambda.

Se il tipo di pacchetto della funzione è Image, allora è necessario specificare il pacchetto di codice in ImageUri come URI di una immagine di container nel registro Amazon ECR.

Se il tipo di pacchetto delle funzioni è Zip, è necessario specificare il pacchetto di implementazione come un archivio di file formato zip. Inserisci il bucket Amazon S3 e la chiave della posizione del codice del file formato zip. È inoltre possibile fornire il codice funzione in linea utilizzando il ZipFile campo.

Il codice nel pacchetto di implementazione deve essere compatibile con l'architettura del set di istruzioni di destinazione della funzione (x86-64 o arm64).

Il codice della funzione è bloccato quando si pubblica una versione. Non puoi modificare il codice di una versione pubblicata, solo quello della versione non pubblicata.

Nota

Per una funzione definita come immagine di container, Lambda risolve il tag dell'immagine in un digest di immagine. In Amazon ECR, se si aggiorna il tag dell'immagine a una nuova immagine, Lambda non aggiorna automaticamente la funzione.

Sintassi della richiesta

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 }

Parametri della richiesta URI

La richiesta utilizza i seguenti parametri URI.

FunctionName

Il nome della funzione Lambda.

Formati di nome
  • Nome della funzione: my-function

  • ARN funzione: arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • ARN parziale: 123456789012:function:my-function.

Il vincolo di lunghezza si applica solo all'ARN completo. Se specifichi solo il nome della funzione, questo avrà un limite di lunghezza di 64 caratteri.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 140.

Modello: (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-_]+))?

Campo obbligatorio: sì

Corpo della richiesta

La richiesta accetta i seguenti dati in formato JSON.

Architectures

L'architettura del set di istruzioni supportata dalla funzione. Inserisci una matrice di stringhe con uno dei valori validi (arm64 o x86_64). Il valore predefinito è x86_64.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Valori validi: x86_64 | arm64

Campo obbligatorio: no

DryRun

Imposta su true per convalidare i parametri della richiesta e le autorizzazioni di accesso senza modificare il codice della funzione.

Tipo: Booleano

Campo obbligatorio: no

ImageUri

URI di un'immagine container nel registro Amazon ECR. Non utilizzarlo per una funzione definita con un archivio di file formato zip.

Tipo: string

Campo obbligatorio: no

Publish

Imposta su true per pubblicare una nuova versione della funzione dopo l'aggiornamento del codice. Questo ha lo stesso effetto di chiamare PublishVersion separatamente.

Tipo: Booleano

Campo obbligatorio: no

RevisionId

Aggiorna la funzione solo se l'ID di revisione corrisponde all'ID specificato. Utilizzare questa opzione per evitare di modificare una funzione modificata dall'ultima lettura.

Tipo: string

Campo obbligatorio: no

S3Bucket

Un bucket Amazon S3 nella stessa Regione AWS della tua funzione. Il bucket può essere in un Account AWS diverso. Utilizzarlo solo con una funzione definita con un pacchetto di implementazione dell'archivio di file formato zip.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 3. La lunghezza massima è 63 caratteri.

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

Campo obbligatorio: no

S3Key

La chiave Amazon S3 del pacchetto di implementazione. Utilizzarlo solo con una funzione definita con un pacchetto di implementazione dell'archivio di file formato zip.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 1024 caratteri.

Campo obbligatorio: no

S3ObjectVersion

Per gli oggetti con versione, la versione dell'oggetto del pacchetto di implementazione da utilizzare.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 1024 caratteri.

Campo obbligatorio: no

ZipFile

Il contenuto con codifica base64 del pacchetto di implementazione.AWS I client di SDK e AWS CLI gestiscono la codifica per tuo conto. Utilizzarlo solo con una funzione definita con un pacchetto di implementazione dell'archivio di file formato zip.

Tipo: oggetto dati binari con codifica Base64

Campo obbligatorio: no

Sintassi della risposta

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" } }

Elementi di risposta

Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

Architectures

L'architettura del set di istruzioni supportata dalla funzione. L'architettura è una matrice di stringhe con uno dei valori validi. Il valore predefinito dell'architettura è x86_64.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Valori validi: x86_64 | arm64

CodeSha256

L'hash SHA256 del pacchetto di implementazione della funzione.

Tipo: stringa

CodeSize

Le dimensioni del pacchetto di implementazione della funzione, in byte.

Tipo: long

DeadLetterConfig

La coda DLQ della funzione.

Tipo: oggetto DeadLetterConfig

Description

La descrizione della funzione.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.

Environment

Le variabili di ambiente della funzione. Omesso dai log AWS CloudTrail.

Tipo: oggetto EnvironmentResponse

EphemeralStorage

Le dimensioni in MB della directory /tmp della funzione. Il valore predefinito è 512, ma può essere qualsiasi numero intero compreso tra 512 e 10.240 MB. Per ulteriori informazioni, consultare Configurazione dell'archiviazione temporanea (console).

Tipo: oggetto EphemeralStorage

FileSystemConfigs

Impostazioni di connessione per un file system Amazon EFS.

Tipo: matrice di oggetti FileSystemConfig

Membri dell'array: numero massimo di 1 elementi.

FunctionArn

L'Amazon Resource Name (ARN) della funzione.

Tipo: stringa

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

Il nome della funzione.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 170.

Modello: (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

La funzione che Lambda richiama per iniziare a eseguire la funzione.

Tipo: stringa

Limitazioni di lunghezza: lunghezza massima di 128.

Modello: [^\s]+

ImageConfigResponse

I valori di configurazione dell'immagine della funzione.

Tipo: oggetto ImageConfigResponse

KMSKeyArn

La AWS KMS key utilizzata per crittografare le variabili di ambiente della funzione. Quando Lambda SnapStart è attivata, questa chiave viene utilizzata anche per crittografare l'istantanea della funzione. Questa chiave viene restituita solo se è stata configurata una chiave gestita dal cliente.

Tipo: stringa

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

LastModified

Data e ora in cui la funzione è stata aggiornata l'ultima volta, in formato ISO-8601 (YYYY-MM-DDThh:mm:ss.sTZD).

Tipo: stringa

LastUpdateStatus

Lo stato dell'ultimo aggiornamento eseguito sulla funzione. Questo viene impostato su Successful per la prima volta dopo il completamento della creazione della funzione.

Tipo: stringa

Valori validi: Successful | Failed | InProgress

LastUpdateStatusReason

Il motivo dell'ultimo aggiornamento eseguito sulla funzione.

Tipo: stringa

LastUpdateStatusReasonCode

Il codice motivo dell'ultimo aggiornamento eseguito sulla funzione.

Tipo: stringa

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

Layers

I livelli della funzione.

Tipo: matrice di oggetti Layer

LoggingConfig

Le impostazioni di configurazione Amazon CloudWatch Logs della funzione.

Tipo: oggetto LoggingConfig

MasterArn

Per le funzioni Lambda@Edge, l'ARN della funzione principale.

Tipo: stringa

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

La quantità di memoria disponibile per la funzione in fase di runtime.

Tipo: integer

Intervallo valido: valore minimo pari a 128. Valore massimo pari a 10240.

PackageType

Il tipo di pacchetto di implementazione. Impostare su Image per l'immagine container e impostare Zip per l'archivio di file .zip.

Tipo: stringa

Valori validi: Zip | Image

RevisionId

L'ultima revisione aggiornata della funzione o dell'alias.

Tipo: stringa

Role

Il ruolo di esecuzione della funzione.

Tipo: stringa

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

Runtime

L'identificatore del runtime della funzione. È necessario il runtime se il pacchetto di implementazione è un archivio di file formato zip.

L'elenco seguente include i runtime obsoleti. Per ulteriori informazioni, consulta Policy di deprecazione del runtime.

Tipo: stringa

Valori validi: 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 del runtime e gli eventuali errori che si sono verificati.

Tipo: oggetto RuntimeVersionConfig

SigningJobArn

L'ARN del processo di firma.

Tipo: stringa

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

SigningProfileVersionArn

L'ARN della versione del profilo di firma.

Tipo: stringa

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

SnapStart

ImpostatoApplyOnPublishedVersions per creare un'istantanea dell'ambiente di esecuzione inizializzato quando si pubblica una versione della funzione. Per ulteriori informazioni, consulta Migliorare le prestazioni di avvio con SnapStart Lambda.

Tipo: oggetto SnapStartResponse

State

Lo stato corrente della funzione. Quando lo stato è Inactive, puoi riattivare la funzione richiamandola.

Tipo: stringa

Valori validi: Pending | Active | Inactive | Failed

StateReason

Il motivo dello stato corrente della funzione.

Tipo: stringa

StateReasonCode

Il codice motivo dello stato corrente della funzione. Quando il codice è Creating, non puoi richiamare o modificare la funzione.

Tipo: stringa

Valori validi: 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

La quantità di runtime in secondi consentita a una funzione da Lambda prima che venga arrestata.

Tipo: integer

Intervallo valido: valore minimo di 1.

TracingConfig

La configurazione di tracciamento di AWS X-Ray della funzione.

Tipo: oggetto TracingConfigResponse

Version

La versione della funzione Lambda.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 1024 caratteri.

Modello: (\$LATEST|[0-9]+)

VpcConfig

Configurazione di rete della funzione.

Tipo: oggetto VpcConfigResponse

Errori

Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.

CodeSigningConfigNotFoundException

La configurazione di firma del codice specificata non esiste.

Codice di stato HTTP: 404

CodeStorageExceededException

La tua dimensione totale massima del codiceAccount AWS è stata superata. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 400

CodeVerificationFailedException

La firma del codice non è riuscita a eseguire uno o più controlli di convalida per verificare la mancata corrispondenza o la scadenza della firma, e la policy di firma del codice è impostata su ENFORCE. Lambda blocca la distribuzione.

Codice di stato HTTP: 400

InvalidCodeSignatureException

La firma del codice non ha superato il controllo di integrità. Se il controllo di integrità non riesce, Lambda blocca l'implementazione anche se la policy di firma del codice è impostata su WARN.

Codice di stato HTTP: 400

InvalidParameterValueException

Uno dei parametri della richiesta non è valido.

Codice di stato HTTP: 400

PreconditionFailedException

Il valore RevisionId fornito non corrisponde a quello più recente RevisionId per la funzione o l'alias Lambda. Chiama l'operazione GetFunction o l'GetAliasAPI per recuperare le ultime novità RevisionId relative alla risorsa.

Codice di stato HTTP: 412

ResourceConflictException

La risorsa esiste già o è in corso un'altra operazione.

Codice di stato HTTP: 409

ResourceNotFoundException

La risorsa specificata nella richiesta non esiste.

Codice di stato HTTP: 404

ServiceException

Il servizio AWS Lambda ha riscontrato un errore interno.

Codice di stato HTTP: 500

TooManyRequestsException

È stato superato il limite di throughput della richiesta. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 429

Vedi anche

Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue: