AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Perché il mio trigger di Amazon SQS per Lambda è stato disattivato?
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:
- La chiave AWS KMS esista.
- Il ruolo di esecuzione della funzione Lambda abbia autorizzazioni per le azioni API Encrypt, Decrypt e GenerateDataKey.
- Le autorizzazioni delle policy della chiave AWS KMS siano configurate per consentire l'invio di eventi alle code di Amazon SQS.
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?
- Argomenti
- Compute
- Tag
- AWS Lambda
- Lingua
- Italiano
