Risoluzione dei problemi di invocazione in Lambda - 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à.

Risoluzione dei problemi di invocazione in Lambda

Quando si richiama una funzione Lambda, Lambda convalida la richiesta e verifica la capacità di ridimensionamento prima di inviare l'evento alla funzione o, per la invocazione asincrona, alla coda eventi. Gli errori di invocazione possono essere causati da problemi relativi ai parametri di richiesta, alla struttura degli eventi, alle impostazioni delle funzioni, alle autorizzazioni utente, alle autorizzazioni delle risorse o alle restrizioni.

Se invochi direttamente la funzione, visualizzi eventuali errori di invocazione nella risposta da Lambda. Se si richiama la funzione in modo asincrono, con un mapping di origine eventi o tramite un altro servizio, è possibile che vengano riscontrati errori nei log, nella coda DLQ o in una destinazione in caso di errore. Le opzioni di gestione degli errori e il comportamento dei tentativi variano a seconda di come si richiama la funzione e del tipo di errore.

Per un elenco di tipi di errore che l'operazione Invoke può restituire, consulta Invoke (Invoca).

IAM: lambda: InvokeFunction non autorizzato

Errore: User: arn:aws:iam: :123456789012:user/developer non è autorizzato a eseguire: lambda: on resource: my-function InvokeFunction

L'utente, o il ruolo che assumi, deve disporre dell'autorizzazione per invocare una funzione. Questo requisito si applica anche alle funzioni Lambda e ad altre risorse di calcolo che richiamano funzioni. Aggiungi la politica AWS gestita al tuo utente o aggiungi una politica personalizzata AWSLambdaRoleche consenta l'azione sulla funzione di destinazione. lambda:InvokeFunction

Nota

Il nome dell'azione IAM (lambda:InvokeFunction) si riferisce all’operazione dell’API di Lambda Invoke.

Per ulteriori informazioni, consulta Gestione delle autorizzazioni in AWS Lambda.

Lambda: impossibile trovare un bootstrap (Runtime) valido. InvalidEntrypoint)

Errore: impossibile trovare bootstrap validi: [/var/task/bootstrap/opt/bootstrap]

Questo errore si verifica in genere quando la root del pacchetto di implementazione non contiene un file eseguibile denominato bootstrap. Ad esempio, se desideri implementare una funzione provided.al2023 con un file .zip, il file bootstrap deve trovarsi nella root del file .zip, non in una directory.

Lambda: l'operazione non può essere eseguita ResourceConflictException

ErroreResourceConflictException: l'operazione non può essere eseguita in questo momento. La funzione è attualmente nello stato seguente: Pending (In sospeso)

Quando si connette una funzione a un VPC al momento della creazione, la funzione entra in uno stato Pending mentre Lambda crea le interfacce di rete elastica. Durante questo periodo, non è possibile richiamare o modificare la funzione. Se si connette la funzione a un VPC dopo la creazione, è possibile richiamarla mentre l'aggiornamento è in sospeso, ma non è possibile modificarne il codice o la configurazione.

Per ulteriori informazioni, consulta Stati funzione Lambda.

Lambda: la funzione è bloccata in sospeso

Errore: una funzione è bloccata nello stato Pending per diversi minuti.

Se una funzione è bloccata nello stato Pending per più di sei minuti, invoca una delle seguenti operazioni API per sbloccarla.

Lambda annulla l'operazione in sospeso e imposta la funzione allo stato Failed. Puoi tentare, quindi, un altro aggiornamento.

Lambda: una funzione sta usando tutta la simultaneità

Problema: una funzione utilizza tutta la simultaneità disponibile, causando la limitazione di altre funzioni.

Per dividere la concorrenza disponibile del tuo AWS account in una AWS regione in pool, utilizza la concorrenza riservata. La simultaneità riservata garantisce che una funzione possa sempre scalare alla relativa simultaneità assegnata e che non scalerà oltre la simultaneità assegnata.

Generale: impossibile richiamare la funzione con altri account o servizi

Problema: è possibile invocare la funzione direttamente, ma questa non viene eseguita quando un altro servizio o account la invoca.

Puoi concedere ad altri servizi e account l'autorizzazione a invocare una funzione nella policy basata sulle risorse della funzione. Se l'invoker si trova in un altro account, tale utente deve anche disporre dell'autorizzazione per invocare le funzioni.

Generale: il richiamo della funzione è in loop

Problema: la funzione viene richiamata continuamente in un loop.

Ciò si verifica in genere quando la funzione gestisce le risorse nello stesso AWS servizio che la attiva. Ad esempio, è possibile creare una funzione che memorizza un oggetto in un bucket Amazon Simple Storage Service (Amazon S3) configurato con una notifica che richiama nuovamente la funzione. Per interrompere l'esecuzione della funzione, riduci a zero la concorrenza disponibile, il che limita tutte le future chiamate. Quindi identificare il percorso del codice o l'errore di configurazione che ha causato la chiamata ricorsiva. Lambda rileva e interrompe automaticamente i loop ricorsivi per alcuni servizi e SDK. AWS Per ulteriori informazioni, consulta Usa il rilevamento ricorsivo del loop Lambda per prevenire loop infiniti.

Lambda: routing alias con simultaneità con provisioning

Problema: invocazioni spillover di concorrenza con provisioning durante il routing degli alias.

Lambda utilizza un modello probabilistico semplice per distribuire il traffico tra le due versioni delle funzioni. A livelli di traffico bassi, è possibile che si verifichi una variazione elevata tra la percentuale di traffico configurata e quella effettiva in ciascuna versione. Se la tua funzione utilizza la concorrenza con provisioning, puoi evitare invocazioni spillover configurando un numero maggiore di istanze di concorrenza sottoposte a provisioning durante il periodo in cui il routing degli alias è attivo.

Lambda: avvii a freddo con simultaneità fornita

Problema: si verificano avvii a freddo dopo che è stata abilitata la simultaneità fornita.

Quando il numero di esecuzioni simultanee su una funzione è minore o uguale al livello configurato di simultaneità fornita, non dovrebbero verificarsi avvii a freddo. Per confermare se la simultaneità fornita funziona normalmente, effettuare le seguenti operazioni:

Lambda: avvii a freddo con nuove versioni

Problema: si verificano avvii a freddo durante la distribuzione di nuove versioni della funzione.

Quando si aggiorna un alias di funzione, Lambda sposta automaticamente la simultaneità fornita alla nuova versione in base ai pesi configurati sull'alias.

Errore: KMSDisabledException: Lambda non è riuscita a decrittografare le variabili di ambiente perché la chiave KMS utilizzata è disabilitata. Controlla le impostazioni delle chiavi KMS della funzione.

Questo errore può verificarsi se la chiave AWS Key Management Service (AWS KMS) è disabilitata o se la concessione che consente a Lambda di utilizzare la chiave viene revocata. Se l'autorizzazione manca, configurare la funzione per utilizzare una chiave diversa. Quindi, riassegnare la chiave personalizzata per ricreare l'autorizzazione.

EFS: la funzione non è in grado di montare il file system EFS

Errore: EFSMountFailureException: la funzione non è riuscita a montare il file system EFS con il punto di accesso arn:aws:elasticfilesystem:us-east- 2:123456789012:access-point/fsap-015cxmplb72b405fd.

La richiesta di montaggio al file system della funzione è stata rifiutata. Verificare le autorizzazioni della funzione e verificare che il file system e il punto di accesso esistano e siano pronti per l'uso.

EFS: la funzione non è in grado di connettersi al file system EFS

Errore: EFSMountConnectivityException: la funzione non è riuscita a connettersi al file system Amazon EFS con punto di accesso arn:aws:elasticfilesystem:us-east- 2:123456789012:access-point/fsap-015cxmplb72b405fd. Controlla la configurazione di rete e riprova.

La funzione non è in grado di stabilire una connessione al file system della funzione con il protocollo NFS (porta TCP 2049). Controllare la configurazione del gruppo di sicurezza e del routing per le sottoreti del VPC.

Se riscontri questi errori dopo aver aggiornato le impostazioni di configurazione VPC della funzione, prova a smontare e rimontare il file system.

EFS: la funzione non è in grado di montare il file system EFS a causa del timeout

Errore: EFSMountTimeoutException: la funzione non è riuscita a montare il file system EFS con il punto di accesso {arn:aws:elasticfilesystem:us-east- 2:123456789012:access-point/fsap-015cxmplb72b405fd} a causa del timeout di montaggio.

La funzione è stata in grado di connettersi al file system della funzione, ma l'operazione di montaggio è scaduta. Riprovare dopo un po' di tempo e considerare di limitare la simultaneità della funzione per ridurre il carico sul file system.

Lambda: Lambda ha rilevato un processo IO che stava impiegando troppo tempo

EFSIOException: questa istanza della funzione è stata arrestata perché Lambda ha rilevato un processo I/O che richiede troppo tempo.

Si è verificato il timeout di una chiamata precedente e Lambda non è stata in grado di terminare l'handler della funzione. Questo problema può verificarsi quando un file system collegato esaurisce i crediti di burst e il throughput di base è insufficiente. Per aumentare il throughput, è possibile aumentare le dimensioni del file system o utilizzare il throughput assegnato. Per ulteriori informazioni, consulta Prestazioni.