Perché il mio trigger Lambda Amazon SQS è stato disabilitato?
Ho configurato la mia funzione AWS Lambda per elaborare i messaggi in una coda Amazon Simple Queue Service (Amazon SQS) ma il trigger SQS non è attivo.
Breve descrizione
È possibile utilizzare una funzione Lambda per elaborare i messaggi in una coda Amazon SQS. Lo strumento di mappatura dell’origine degli eventi esegue la lettura da un'origine di evento e richiama una funzione Lambda. Lo strumento di mappatura dell’origine degli eventi è In creazione, In abilitazione, Abilitato, In disabilitazione, Disattivato, In aggiornamento o In eliminazione.
Gli strumenti Lambda per eseguire il polling effettuano costantemente la chiamata d'azione ReceiveMessage API alla coda Amazon SQS. Se la chiamata API ReceiveMessage non viene completata, la risorsa EventSourceMapping viene disabilitata.
Risoluzione
Autorizzazioni della funzione Lambda
Assicurati che il tuo ruolo di esecuzione della funzione Lambda abbia accesso alle seguenti autorizzazioni:
Autorizzazioni del Servizio di gestione delle chiavi AWS (AWS KMS)
Se la coda Amazon SQS è configurata con la crittografia SSE-KMS, assicurati che:
- La chiave AWS KMS esista.
- Il ruolo di esecuzione della funzione Lambda disponga delle autorizzazioni per Encrypt, Decrypt e GenerateDataKey.
- Le autorizzazioni delle policy della chiave AWS KMS sono configurate per consentire l'invio di eventi alle code di Amazon SQS.
Nota: le code Amazon SQS con crittografia SSE-KMS non possono richiamare una funzione Lambda in un account AWS diverso (cross-account).
Cronologia eventi CloudTrail
Puoi usare AWS CloudTrail per cercare eventi. CloudTrail è attivato per impostazione predefinita per il tuo account AWS.
Per un registro continuo degli eventi nel tuo account AWS, crea un percorso. Utilizzando un percorso, CloudTrail crea i log delle chiamate API effettuate sul tuo account. I log vengono inviati a un bucket Amazon Simple Storage Service (Amazon S3) specificato da te. Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella console CloudTrail nella cronologia eventi.
1. Apri la console CloudTrail.
2. Nel riquadro di navigazione, scegli Cronologia eventi.
3. Segui le istruzioni per visualizzare, mostrare e filtrare gli eventi CloudTrail in base al tuo caso d'uso.
Puoi anche scaricare la cronologia degli eventi registrati come file in formato CSV o JSON.
Verifica il nome dell'evento CloudTrail LambdaESMDisabled. Il log eventi contiene il parametro ESMDisableReason con ulteriori informazioni sulla causa del motivo per cui il trigger Amazon SQS non è attivo.
Per ulteriori informazioni, consulta Registrazione delle chiamate API Lambda con CloudTrail.
Allarmi Amazon CloudWatch (opzionali)
Puoi creare un allarme CloudWatch per le metriche di Amazon SQS per ricevere notifiche sul numero di messaggi ricevuti, inviati, eliminati, ecc. Ad esempio, puoi utilizzare la metrica Amazon SQS NumberOfMessagesReceived per ottenere il numero di messaggi recenti restituiti. Se il conteggio è 0, richiama una nuova funzione Lambda per verificare lo stato del trigger Amazon SQS. Se il trigger Amazon SQS è ancora disabilitato, utilizza la nuova funzione Lambda per attivarlo.
Per ulteriori informazioni, consulta Metriche CloudWatch disponibili per Amazon SQS.
Informazioni correlate
Di quali autorizzazioni ho bisogno per accedere a una coda Amazon SQS?
Come faccio a risolvere i problemi relativi alle funzioni Lambda?
Contenuto pertinente
- AWS UFFICIALEAggiornata 6 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un anno fa