Come posso utilizzare una coda DLQ per risolvere i problemi relativi alla metrica FailedInvocations per regole EventBridge?
Desidero associare una coda DLQ alla destinazione di una regola Amazon EventBridge per risolvere i problemi relativi alla metrica FailedInvocations.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Crea una coda Amazon SQS standard
Utilizza la console Amazon Simple Queue Service (Amazon SQS) per creare la coda SQS.
Completa i seguenti passaggi:
- Apri la console Amazon SQS.
- Scegli Crea coda.
- Per Tipo, scegli Coda standard.
- Inserisci un nome per la coda, ad esempio myEventBridgeDLQ.
- Scegli Crea coda.
Associa la coda SQS alla destinazione di una regola EventBridge
Completa i seguenti passaggi:
- Apri la console EventBridge.
- Nel pannello di navigazione, seleziona Regole.
- Seleziona la regola EventBridge che non è riuscita a invocare la destinazione, quindi scegli Modifica.
- Nel pannello di navigazione, scegli Seleziona destinazioni, quindi Impostazioni aggiuntive.
- In Coda DLQ, scegli Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue (Seleziona una coda Amazon SQS nell'account AWS corrente da utilizzare come coda DLQ). Quindi seleziona la coda SQS nell'elenco a discesa Seleziona una coda SQS.
- Scegli Skip to Review and update (Vai Esamina e aggiorna).
- Scegli Aggiorna regola.
EventBridge deve avere l'autorizzazione per inviare eventi con invocazioni non riuscite alla coda SQS. Se utilizzi la console EventBridge per associare una coda DLQ alla destinazione della regola EventBridge, EventBridge aggiunge automaticamente l'autorizzazione. Se utilizzi AWS CLI, AWS SDK o AWS CloudFormation, devi creare manualmente una policy basata sulle risorse che conceda l'autorizzazione richiesta. Puoi eseguire il comando set-queue-attributes per modificare la policy.
Importante: se hai crittografato la coda SQS, devi creare una chiave gestita dal cliente. Devi inoltre includere la seguente autorizzazione nella ](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)policy della chiave[ del Servizio AWS di gestione delle chiavi (AWS KMS):
{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
Per ulteriori informazioni, consulta Configurazione delle autorizzazioni per AWS KMS.
Invia al router di eventi EventBridge eventi che corrispondono alla regola EventBridge
Per inviare al router di eventi predefinito eventi che corrispondono alla regola dell'evento, modifica l'ambiente AWS per gli eventi del servizio AWS. Se la regola EventBridge non riesce a invocare la destinazione, EventBridge invia tutti gli eventi non riusciti alla coda DLQ.
Per inviare al router di eventi personalizzato eventi che corrispondono alla regola dell'evento, utilizza l'API PutEvents o il comando put-events.
Per controllare la metrica FailedInvocations per la regola EventBridge, completa i seguenti passaggi:
- Apri la console EventBridge.
- Seleziona la regola EventBridge, quindi scegli la scheda Monitoraggio.
- Cerca MatchedEvents e TriggeredRules per verificare che la regola corrisponda a un evento.
- Controlla Invocations e FailedInvocations per verificare che la regola abbia tentato di invocare la destinazione.
Nota: se le metriche non hanno punti dati, assicurati di aver configurato correttamente il modello di regola.
Recupera l'evento non riuscito che EventBridge ha inviato alla coda DLQ
Completa i seguenti passaggi:
- Apri la console EventBridge.
- Nel pannello di navigazione, seleziona Regole.
- Seleziona la regola EventBridge che corrisponde a un'invocazione con esito negativo.
- Scegli la scheda Destinazioni, quindi seleziona la coda DLQ.
- Scegli Invio e ricezione di messaggi per aprire la pagina Invio e ricezione di messaggi sulla console SQS.
- Scegli Esegui il polling dei messaggi.
Nota: la sezione Messaggi mostra un elenco dei messaggi ricevuti. L'elenco mostra l'ID del messaggio, la data di invio, la dimensione e il numero di ricezioni per ogni messaggio. - Seleziona uno dei messaggi. Quindi scegli Visualizza i dettagli per visualizzare l'evento che EventBridge non è riuscito a inviare alla destinazione.
- Scegliete la scheda Attributi per visualizzare gli attributi ERROR_CODE, ERROR_MESSAGE, RULE_ARN e TARGET_ARN.
Nota: gli attributi ERROR_CODE e ERROR_MESSAGE forniscono il motivo del mancato recapito dell'evento.
Informazioni correlate
Come faccio a risolvere i problemi relativi alle regole di Amazon EventBridge?
- Argomenti
- Application Integration
- Lingua
- Italiano

Contenuto pertinente
AWS UFFICIALEAggiornata un anno fa