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à.
Attivazione e gestione di Lambda SnapStart
Per utilizzarlo SnapStart, attivalo SnapStart su una funzione Lambda nuova o esistente. Quindi, pubblica e richiama una versione della funzione.
Argomenti
Attivazione SnapStart (console)
Attivare SnapStart per una funzione
Aprire la pagina Functions
(Funzioni) della console Lambda. -
Scegliere il nome della funzione.
-
Scegli Configuration (Configurazione), quindi scegli Configurazione generale.
-
Nel pannello General configuration (Configurazione generale), scegli Edit (Modifica).
-
Nella pagina Modifica impostazioni di base, per SnapStart, scegli Versioni pubblicate.
-
Seleziona Salva.
-
Pubblica una versione della funzione. Lambda inizializza il codice, crea uno snapshot dell'ambiente di esecuzione inizializzato e quindi memorizza nella cache lo snapshot per l'accesso a bassa latenza.
Attivazione SnapStart ()AWS CLI
Da attivare SnapStart per una funzione esistente
-
Aggiorna la configurazione della funzione eseguendo il update-function-configuration
comando con l'--snap-startopzione. aws lambda update-function-configuration \ --function-name my-function \ --snap-start ApplyOn=PublishedVersions
-
Pubblica una versione della funzione con il comando publish-version
. aws lambda publish-version \ --function-name my-function
-
Confermate che SnapStart sia attivata per la versione della funzione eseguendo il get-function-configuration
comando e specificando il numero di versione. Il seguente esempio specifica la versione 1. aws lambda get-function-configuration \ --function-name my-function:
1
Se la risposta mostra che OptimizationStatusis
On
e State èActive
, allora SnapStart viene attivata e un'istantanea è disponibile per la versione della funzione specificata."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Richiama la versione della funzione eseguendo il comando invoke
e specificando la versione. L'esempio seguente richiama la versione 1. aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function:
1
\ --payload '{ "name": "Bob" }' \ response.jsonL'cli-binary-formatopzione è obbligatoria se si utilizza la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui
aws configure set cli-binary-format raw-in-base64-out
. Per ulteriori informazioni, consulta la pagina AWS CLI supported global command line options nella Guida per l'utente di AWS Command Line Interface versione 2.
Da attivare SnapStart quando si crea una nuova funzione
-
Crea una funzione eseguendo il comando create-function
con l'opzione --snap-start. Per--role, specifica l'Amazon Resource Name (ARN) del tuo ruolo di esecuzione. aws lambda create-function \ --function-name my-function \ --runtime "java21" \ --zip-file fileb://my-function.zip \ --handler my-function.handler \ --role
arn:aws:iam::111122223333:role/lambda-ex
\ --snap-start ApplyOn=PublishedVersions -
Crea una versione con il comando publish-version
. aws lambda publish-version \ --function-name my-function
-
Conferma che SnapStart sia attivata per la versione della funzione eseguendo il get-function-configuration
comando e specificando il numero di versione. Il seguente esempio specifica la versione 1. aws lambda get-function-configuration \ --function-name my-function:
1
Se la risposta mostra che OptimizationStatusis
On
e State èActive
, allora SnapStart viene attivata e un'istantanea è disponibile per la versione della funzione specificata."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Richiama la versione della funzione eseguendo il comando invoke
e specificando la versione. L'esempio seguente richiama la versione 1. aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function:
1
\ --payload '{ "name": "Bob" }' \ response.jsonL'cli-binary-formatopzione è obbligatoria se si utilizza la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui
aws configure set cli-binary-format raw-in-base64-out
. Per ulteriori informazioni, consulta la pagina AWS CLI supported global command line options nella Guida per l'utente di AWS Command Line Interface versione 2.
Attivazione SnapStart () API
Attivare SnapStart
-
Esegui una di queste operazioni:
-
Crea una nuova funzione con SnapStart activated utilizzando l'CreateFunctionAPIazione con il SnapStartparametro.
-
Attiva SnapStart per una funzione esistente utilizzando l'UpdateFunctionConfigurationazione con il SnapStartparametro.
-
-
Pubblica una versione della funzione con l'PublishVersionazione. Lambda inizializza il codice, crea uno snapshot dell'ambiente di esecuzione inizializzato e quindi memorizza nella cache lo snapshot per l'accesso a bassa latenza.
-
Verifica che SnapStart sia attivata per la versione della funzione utilizzando l'GetFunctionConfigurationazione. Specificate un numero di versione per confermare che SnapStart è attivata per quella versione. Se la risposta mostra che OptimizationStatusè
On
e State èActive
, allora SnapStart viene attivata ed è disponibile un'istantanea per la versione della funzione specificata."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Richiama la versione della funzione con l'operazione Invoke.
Lambda SnapStart e stati funzionali
I seguenti stati di funzione possono verificarsi quando si utilizza SnapStart. Possono verificarsi anche quando Lambda ricicla periodicamente l'ambiente di esecuzione ed esegue nuovamente il codice di inizializzazione per una funzione configurata con. SnapStart
-
Pending
: Lambda sta inizializzando il codice e acquisendo uno snapshot dell'ambiente di esecuzione inizializzato. Qualsiasi chiamata o altra API azione che opera sulla versione della funzione avrà esito negativo. -
Active
: la creazione di istantanee è completa ed è possibile richiamare la funzione. Per utilizzarla SnapStart, è necessario richiamare la versione pubblicata della funzione, non la versione non pubblicata ($). LATEST -
Inactive
: la versione della funzione non viene richiamata da 14 giorni. Quando la versione della funzione diventaInactive
, Lambda elimina lo snapshot. Se si richiama la versione della funzione dopo 14 giorni, Lambda restituisce una rispostaSnapStartNotReadyException
e inizia a inizializzare un nuovo snapshot. Attendi che la versione della funzione raggiunga lo statoActive
, quindi richiamala di nuovo. LoInactive
stato può verificarsi anche quando Lambda esegue un riciclo periodico dell'ambiente di esecuzione. In questo caso, se la funzione non riesce a inizializzarsi, può entrare in uno stato.Inactive
-
Failed
: Lambda ha riscontrato un errore durante l'esecuzione del codice di inizializzazione o la creazione dello snapshot.
Aggiornamento di uno snapshot
Lambda crea uno snapshot per ogni versione della funzione pubblicata. Per aggiornare uno snapshot, pubblica una nuova versione della funzione. Lambda aggiorna automaticamente gli snapshot con le patch di runtime e sicurezza più recenti.
Usando SnapStart con AWS SDK for Java
Per effettuare AWS SDK chiamate dalla tua funzione, Lambda genera un set temporaneo di credenziali assumendo il ruolo di esecuzione della funzione. Queste credenziali sono disponibili come variabili d'ambiente durante l'invocazione della funzione. Non è necessario fornire le credenziali per il codice direttamente inserito. SDK Per impostazione predefinita, la catena di fornitori di credenziali controlla in sequenza ogni punto in cui è possibile impostare le credenziali e seleziona il primo disponibile, in genere le variabili d'ambiente (AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
e AWS_SESSION_TOKEN
).
Nota
Quando SnapStart è attivato, il runtime Java utilizza automaticamente le credenziali del contenitore (AWS_CONTAINER_CREDENTIALS_FULL_URI
andAWS_CONTAINER_AUTHORIZATION_TOKEN
) anziché le variabili di ambiente della chiave di accesso. Ciò impedisce la scadenza delle credenziali prima che la funzione venga ripristinata.
Utilizzando SnapStart with AWS CloudFormationAWS SAM, e AWS CDK
-
AWS CloudFormation: dichiara l'SnapStartentità nel modello.
-
AWS Serverless Application Model (AWS SAM): dichiara la SnapStartproprietà nel modello.
-
AWS Cloud Development Kit (AWS CDK): Usa il SnapStartPropertytipo.
Eliminazione di snapshot
Lambda elimina gli snapshot quando:
-
Si elimina la funzione o la versione della funzione.
-
Non si richiama la versione della funzione per 14 giorni. Dopo 14 giorni senza una chiamata, la versione della funzione passa allo stato Inactive (Inattivo). Se si richiama la versione della funzione dopo 14 giorni, Lambda restituisce una risposta
SnapStartNotReadyException
e inizia a inizializzare un nuovo snapshot. Attendi che la versione della funzione raggiunga lo stato Active (Attivo), quindi richiamala di nuovo.
Lambda rimuove tutte le risorse associate alle istantanee eliminate in conformità al Regolamento generale sulla protezione dei dati (). GDPR