Salta al contenuto

Perché il mio trigger di Amazon SQS per Lambda è stato disattivato?

3 minuti di lettura
0

Ho configurato la mia funzione AWS Lambda per elaborare i messaggi in una coda di Amazon Simple Queue Service (Amazon SQS), ma il trigger di SQS non è attivo.

Breve descrizione

Puoi utilizzare una funzione Lambda per elaborare i messaggi in una coda di Amazon SQS. Lo strumento di mappatura dell’origine degli eventi esegue la lettura dall'origine di un evento e invoca una funzione Lambda.

I poller Lambda effettuano costantemente una chiamata API ReceiveMessage alla coda di Amazon SQS. Se la chiamata API ReceiveMessage non viene completata, la risorsa AWS::Lambda::EventSourceMapping viene disattivata.

Risoluzione

Verifica le autorizzazioni della funzione Lambda

Assicurati che il ruolo di esecuzione della funzione Lambda abbia le autorizzazioni per le azioni API ChangeMessageVisibility, DeleteMessage, GetQueueAttributes e ReceiveMessage.

Verifica le autorizzazioni AWS KMS

Se la coda Amazon SQS è configurata con la crittografia SSE-KMS del Servizio AWS di gestione delle chiavi (AWS KMS), assicurati che:

Nota: le code di Amazon SQS con crittografia SSE-KMS non possono invocare una funzione Lambda in un account AWS diverso.

Risolvi i problemi di CloudTrail

Puoi utilizzare la cronologia degli eventi di AWS CloudTrail per cercare eventi di dati e rivedere i codici di errore per la risoluzione dei problemi.
Nota: CloudTrail è attivato per impostazione predefinita nell'account AWS.

Per una registrazione continua degli eventi nell'account AWS, crea un trail. Il trail crea log delle chiamate API effettuate nell'account.
Nota: puoi anche visualizzare la cronologia degli eventi più recenti sulla console CloudTrail.

Completa i seguenti passaggi:

1. Apri la console CloudTrail.

2. Nel pannello di navigazione, scegli Cronologia degli eventi.

3. Segui le istruzioni per visualizzare e filtrare gli eventi di CloudTrail in base al caso d'uso.

Puoi anche scaricare la cronologia degli eventi registrati come file in formato CSV o JSON.

Verifica il nome dell'evento di CloudTrail LambdaESMDisabled. Il log degli eventi contiene l'evento di dati LambdaESMDisable con ulteriori informazioni sul motivo per cui i trigger di Amazon SQS non sono attivi.

Per ulteriori informazioni, consulta Utilizzo di CloudTrail per risolvere i problemi relativi alle origini di eventi Lambda disattivate.

(Facoltativo) Crea allarmi in CloudWatch

Puoi creare un allarme in Amazon CloudWatch per le metriche di Amazon SQS in modo da ricevere notifiche sul numero di messaggi ricevuti, inviati, eliminati, ecc. Ad esempio, puoi utilizzare la metrica di Amazon SQS NumberOfMessagesReceived per ottenere il numero di messaggi recenti restituiti. Se il conteggio è 0, invoca una nuova funzione Lambda per verificare lo stato del trigger di Amazon SQS. Se il trigger di Amazon SQS è ancora disattivato, utilizza la nuova funzione Lambda per attivarlo.

Per ulteriori informazioni, consulta Metriche di CloudWatch disponibili per Amazon SQS.

Informazioni correlate

Come posso concedere l'accesso a una coda Amazon SQS?

Come faccio a risolvere i problemi relativi alla funzione Lambda?

AWS UFFICIALEAggiornata 6 mesi fa