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à.
Gestione delle revisioni delle funzioni Web
Una revisione è un'istantanea immutabile del codice e della configurazione dell'applicazione Web Function. Per modificare il codice o qualsiasi impostazione di revisione, ad esempio, oppure timeoutSeconds maxConcurrencyPerEnvironmentenvironmentVariables, è necessario creare una nuova revisione. Il fatto che la nuova revisione riceva traffico dipende dalla modalità di distribuzione automatica di ciascun endpoint. Un endpoint in LatestRevisionmodalità indirizza tutto il traffico verso la nuova revisione dopo che questa diventa attiva. Un endpoint in modalità Disabilitato mantiene i pesi di revisione correnti finché non vengono modificati. Poiché le revisioni sono immutabili, è possibile ripristinarle indirizzando il traffico verso una revisione precedente. La revisione precedente deve rimanere attiva e il codice, la chiave, il ruolo e le altre dipendenze devono rimanere disponibili. Per informazioni sull'instradamento del traffico tra le revisioni, vedere. Modelli di implementazione
Proprietà di revisione
Ogni revisione contiene la seguente configurazione:
| Proprietà | Description | Predefinita | Modificabile |
|---|---|---|---|
| ID revisione | Un ID univoco che Lambda genera quando crei la revisione. | – | No (generato) |
| Revisione ARN | L'Amazon Resource Name (ARN) della revisione. | – | No (generato) |
| Funzione ARN | L'ARN della funzione Web a cui appartiene la revisione. | – | No (generato) |
| state | Lo stato del ciclo di vita della revisione (PendingActive, o). Failed Per informazioni dettagliate, vedi Stati di revisione. |
– | No (gestito da Lambda) |
| StateReason | Una descrizione del motivo per cui la revisione si trova nello stato corrente, ad esempio la causa di uno stato. Failed |
– | No (gestito da Lambda) |
| errori | Un elenco di errori rilevati da Lambda durante la creazione o la lettura della revisione. Ogni errore indica l'attributo interessato e include un codice di errore e un messaggio. Assente quando la revisione non contiene errori. | – | No (gestito da Lambda) |
| Creato in | Il timestamp in cui è stata creata la revisione. | – | No (generato) |
| description | Una descrizione opzionale per la revisione fornita al momento della creazione. | Nessuno | No (immutabile) |
| BuildConfig | Il codice e il runtime per la revisione. Contiene le runtimeConfig impostazioni codeConfig e descritte nelle righe seguenti. |
– | No (immutabile) |
| CodeConfig | La posizione del pacchetto di distribuzione. Contiene l's3Objectimpostazione descritta nelle righe seguenti. Parte dibuildConfig. |
– | No (immutabile) |
| Oggetto S3 | La posizione Amazon S3 del pacchetto di distribuzione. Contiene le versionId impostazioni bucketkey, e descritte nelle righe seguenti. Per informazioni dettagliate, vedi Distribuzione del codice Web Function da Amazon S3. Parte dicodeConfig. |
– | No (immutabile) |
| bucket | Il nome del bucket Amazon S3 che contiene il pacchetto di distribuzione. Il bucket deve avere il controllo delle versioni S3 abilitato. Parte di. s3Object |
– | No (immutabile) |
| key | La chiave oggetto Amazon S3 del pacchetto di distribuzione. Parte di. s3Object |
– | No (immutabile) |
| VersionID | L'ID di versione dell'oggetto Amazon S3. Opzionale. Se lo ometti, Lambda utilizza la versione più recente dell'oggetto al momento della creazione. In entrambi i casi, Lambda associa la revisione a una versione specifica dell'oggetto. Parte di. s3Object |
Versione più recente | No (immutabile) |
| Runtimeconfig | La configurazione di runtime. Contiene l'runtimeimpostazione descritta nella riga seguente. Parte dibuildConfig. |
– | No (immutabile) |
| runtime | L'identificatore di runtime (ad esempio,). nodejs24.x Per i runtime supportati, vedere. Runtime della funzione Web Lambda Sebbene l'identificatore di runtime sia fisso per la revisione, il runtime stesso non è bloccato. Lambda applica automaticamente le patch di sicurezza e le correzioni di bug al runtime, in modo che l'identificatore (ad esempionodejs24.x) si risolva sempre nell'ultima versione con patch. Per informazioni dettagliate, vedi Applicazione automatica delle patch in fase di esecuzione. runtimeConfigParte di. |
– | No (immutabile) |
| Configurazione del servizio | Le impostazioni di runtime per la revisione. Contiene le telemetryConfig impostazioni executionRoleArntimeoutSeconds,maxConcurrencyPerEnvironment,environmentVariables, e descritte nelle righe seguenti. |
– | No (immutabile) |
| esecuzione RoleArn | L'ARN del ruolo IAM che la funzione Web assume in fase di esecuzione. Il ruolo concede le autorizzazioni per accedere a servizi AWS e risorse. Obbligatorio. Per informazioni dettagliate, vedi Ruolo di esecuzione. Parte di. serviceConfig |
– | No (immutabile) |
| TimeoutSeconds | Il tempo massimo, in secondi, di esecuzione di una singola richiesta HTTP. Valori validi: 3—900. Parte di. serviceConfig |
30 | No (immutabile) |
| massimo ConcurrencyPerEnvironment | Il numero massimo di richieste HTTP simultanee per ambiente di esecuzione. Valori validi: 1—128. Parte di. serviceConfig |
64 | No (immutabile) |
| Variabili d'ambiente | Key-value coppie disponibili per l'applicazione in fase di esecuzione. Impostato per revisione e immutabile dopo la creazione. Parte serviceConfig di. |
Nessuno | No (immutabile) |
| Configurazione di telemetria | Impostazioni di telemetria per la revisione. Contiene l'loggingConfigimpostazione descritta nelle righe seguenti. Se omettitelemetryConfig, Lambda invia comunque i log delle applicazioni al gruppo di log predefinito. Parte di. serviceConfig |
Nessuno | No (immutabile) |
| Configurazione di registrazione | La configurazione di registrazione per la revisione. Contiene le systemLogLevel impostazioni logGroupapplicationLogLevel, e descritte nelle righe seguenti. Per informazioni dettagliate, vedi Controlli di registrazione. Parte ditelemetryConfig. |
Nessuno | No (immutabile) |
| LogGroup | Il gruppo di CloudWatch log di Amazon Logs che riceve i tuoi log. I nomi dei gruppi di log che iniziano con aws/ sono riservati e rifiutati. Per informazioni dettagliate, vedi Utilizzo di un gruppo di log personalizzato. Parte diloggingConfig. |
/aws/lambda/web/ |
No (immutabile) |
| applicazioneLogLevel | La gravità minima dei log dell'applicazione che Lambda invia ad Amazon CloudWatch Logs. Valori validi:TRACE,,DEBUG, INFOWARN, ERROR e. FATAL Parte diloggingConfig. |
INFO |
No (immutabile) |
| sistema LogLevel | La gravità minima dei log di Lambda-generated sistema che Lambda invia ad Amazon CloudWatch Logs. Valori validi: DEBUG, INFO e WARN. Parte di. loggingConfig |
INFO |
No (immutabile) |
| km KeyArn | L'ARN della chiave gestita dal cliente utilizzata per crittografare il codice e le variabili di ambiente. Opzionale. Se un PerRegion endpoint MultiRegion o indirizza il traffico verso la revisione, utilizza una chiave multiregionale con una replica in ciascuna delle regioni dell'endpoint. Per informazioni dettagliate, vedi Crittografia a riposo per Web Functions. |
Nessuno | No (immutabile) |
Tutte le proprietà di revisione sono immutabili dopo la creazione. Per modificare qualsiasi configurazione, crea una nuova revisione con i valori aggiornati.
Creare una revisione
Lambda crea una revisione quando chiami. CreateWebFunctionRevision Fornisci la posizione e la configurazione del codice nella richiesta. Una nuova revisione non copia le impostazioni da una revisione esistente. Specificate tutte le impostazioni che desiderate conservare, incluse le variabili di ambiente. Le impostazioni che ometti utilizzano i loro valori predefiniti. Per iniziare dai valori correnti, esegui get-web-function-revision e riutilizza i valori e con le buildConfig modifiche apportate. serviceConfig La nuova revisione inizia nello stato In sospeso mentre Lambda scarica il codice e ne prepara un elemento di codice. Una volta completata la preparazione, la revisione passa alla versione Attiva. Se si verifica un errore durante la preparazione, la revisione passa a Non riuscita e non può servire il traffico. Per informazioni dettagliate su ogni stato, consulta. Stati di revisione
Prima di creare una revisione, carica il pacchetto di distribuzione.zip in un bucket Amazon S3 con versione e ottieni l'ARN di un ruolo di esecuzione che Lambda può assumere. Per informazioni dettagliate, consulta Distribuzione del codice Web Function da Amazon S3 e Ruolo di esecuzione.
Per creare una revisione con codice aggiornato (AWS CLI)
-
Eseguite il comando seguente per creare una nuova revisione. Sostituisci il bucket S3, la chiave, l'ARN del ruolo e i valori di configurazione con i tuoi.
aws lambda-web create-web-function-revision \ --function-namemy-web-app\ --build-config '{ "codeConfig": { "s3Object": { "bucket": "my-bucket", "key": "my-app-v2.zip" } }, "runtimeConfig": { "runtime": "nodejs24.x" } }' \ --service-config '{ "executionRoleArn": "arn:aws:iam::111122223333:role/my-web-function-role" }'Il comando utilizza i seguenti oggetti. Per ogni impostazione e le relative impostazioni predefinite, vedereProprietà di revisione.
-
buildConfigcontienecodeConfig, il bucket Amazon S3 e la chiave del pacchetto di distribuzione e il runtime (ad esempioruntimeConfig,).nodejs24.xEntrambi i parametri sono obbligatori. -
serviceConfigcontiene il necessarioexecutionRoleArn, l'ARN del ruolo di esecuzione che la funzione Web assume quando viene eseguita. Può anche conteneretimeoutSeconds,maxConcurrencyPerEnvironmentenvironmentVariables, e.telemetryConfig
Il comando restituisce i dettagli sulla nuova revisione, inclusa la relativa
revisionId. La revisione inizia nello stato In sospeso. -
-
Per confermare che la revisione è attiva, esegui il comando seguente. Sostituire
my-web-appcon il nome della funzione erev-a1b2ccon ilrevisionIdrisultato della risposta.aws lambda-web get-web-function-revision \ --function-namemy-web-app\ --revision-idrev-a1b2cLa revisione è pronta quando lo
stateèActive. In casostateFailedaffermativo, nestateReasondescrive la causa. Per informazioni dettagliate, vedi Stati di revisione.Subito dopo aver creato una revisione, di solito
statePendingè così. Per aspettare che sia cosìActive, eseguiaws lambda-web wait web-function-revision-activecon le stesse opzioni.
Per creare una revisione con una configurazione aggiornata (AWS CLI)
-
Per modificare la configurazione senza modificare il codice, specificate la stessa posizione del codice con le nuove impostazioni. L'esempio seguente modifica il timeout a 60 secondi e aggiunge una variabile di ambiente.
aws lambda-web create-web-function-revision \ --function-namemy-web-app\ --build-config '{ "codeConfig": { "s3Object": { "bucket": "my-bucket", "key": "my-app-v2.zip" } }, "runtimeConfig": { "runtime": "nodejs24.x" } }' \ --service-config '{ "executionRoleArn": "arn:aws:iam::111122223333:role/my-web-function-role", "timeoutSeconds": 60, "maxConcurrencyPerEnvironment": 32, "environmentVariables": { "DATABASE_URL": "my-database-endpoint", "LOG_LEVEL": "info" } }' -
Per confermare che la revisione è attiva, esegui il comando seguente. Sostituire
my-web-appcon il nome della funzione erev-a1b2ccon ilrevisionIdrisultato della risposta.aws lambda-web get-web-function-revision \ --function-namemy-web-app\ --revision-idrev-a1b2cLa revisione è pronta quando lo
stateèActive. In casostateFailedaffermativo, nestateReasondescrive la causa. Per informazioni dettagliate, vedi Stati di revisione.Subito dopo aver creato una revisione, di solito
statePendingè così. Per aspettare che sia cosìActive, eseguiaws lambda-web wait web-function-revision-activecon le stesse opzioni.
Dopo aver creato la revisione, il modo in cui il traffico la raggiunge dipende dalla modalità di distribuzione automatica dell'endpoint. Per informazioni dettagliate, vedi Modelli di implementazione.
Revisioni degli elenchi
Per visualizzare tutte le revisioni di una funzione Web, utilizzare il seguente comando:
aws lambda-web list-web-function-revisions \ --function-namemy-web-app
La risposta include l'identificatore, lo stato, il timestamp di creazione e il riepilogo della configurazione di ciascuna revisione. Utilizza l'identificatore di revisione quando aggiorni i pesi di revisione dell'endpoint o quando elimini una revisione.
Eliminazione di una revisione
È possibile eliminare una revisione che non è più necessaria. L'eliminazione di una revisione la rimuove definitivamente. Il tuo pacchetto di distribuzione in Amazon S3 non è interessato.
Importante
Non è possibile eliminare una revisione verso cui un endpoint indirizza il traffico (una revisione con un peso diverso da zero su qualsiasi endpoint). Rimuovi la revisione dai pesi di revisione di ogni endpoint prima di eliminarla.
Per eliminare una revisione (AWS CLI)
-
Eseguite il comando seguente per eliminare una revisione specifica.
aws lambda-web delete-web-function-revision \ --function-namemy-web-app\ --revision-idrev-a1b2c
Limiti di revisione e pulizia automatica
Lambda utilizza 50 revisioni per funzione Web come obiettivo di pulizia automatica. L'obiettivo non è regolabile. Nella console Service Quotas, viene visualizzato come Revisioni per funzione Web (). web-function-revisions-per-function
Non è necessario eliminare le revisioni precedenti per rispettare l'obiettivo di pulizia. Quando una nuova revisione diventa attiva e il numero totale di revisioni supera l'obiettivo di pulizia, Lambda elimina automaticamente le revisioni più vecchie che non sono in uso. Una revisione viene utilizzata quando un endpoint indirizza il traffico verso di essa, incluso quando viene referenziata in un punto qualsiasi della proprietà di un endpoint o. regionalEndpoints MultiRegion PerRegion Lambda non elimina automaticamente una revisione in uso o la revisione appena diventata attiva. La pulizia è asincrona. Il numero di revisioni potrebbe essere temporaneamente superiore a 50 mentre le revisioni precedenti sono ancora in uso o è in corso la pulizia. Una revisione rimossa da tutti i pesi di revisione, ad esempio un obiettivo di rollback, può essere eliminata mediante pulizia.
È inoltre possibile eliminare le revisioni manualmente in qualsiasi momento. Per la procedura, vedere la sezione precedente.
Il pacchetto di distribuzione di ogni revisione può pesare fino a 512 MB (decompresso). Poiché il pacchetto di distribuzione viene fornito nel proprio bucket Amazon S3 e Lambda fa riferimento al codice direttamente dal bucket, non esiste una quota di storage del codice separata per Web Functions. Per informazioni dettagliate, vedi Distribuzione del codice Web Function da Amazon S3.
Configurazione delle impostazioni di revisione
Tutte le configurazioni sono impostate per revisione e sono immutabili dopo la creazione. Per modificare qualsiasi impostazione, crea una nuova revisione con i valori aggiornati. Le seguenti impostazioni controllano il comportamento di esecuzione.
Per il timeout della richiesta e le impostazioni delle variabili di ambiente, vedere Timeout della richiesta e Variabili di ambiente inConfigurazione delle funzioni Web Lambda.
Concorrenza per ambiente
L'maxConcurrencyPerEnvironmentimpostazione controlla quante richieste HTTP vengono gestite contemporaneamente da un singolo ambiente di esecuzione. I valori validi sono 1—128. Il valore predefinito è 64.
Per I/O-bound le applicazioni (molte richieste in attesa di chiamate al database o alla rete), un valore più alto massimizza l'utilizzo. Per CPU-bound le applicazioni, un valore più basso riduce i conflitti. Per ulteriori informazioni, consulta Comportamento di scalabilità per Lambda Web Functions.