Salta al contenuto

Come posso modificare le impostazioni della ripetizione di EventBridge e utilizzare una coda DLQ per le invocazioni non riuscite?

3 minuti di lettura
0

Desidero modificare le impostazioni della policy di ripetizione di Amazon EventBridge e configurare una coda DLQ per le invocazioni non riuscite.

Risoluzione

Nota: se ricevi degli errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Modifica la durata della ripetizione di EventBridge

EventBridge utilizza il backoff esponenzial e il jitter oppure un ritardo randomizzato per inviare nuovamente l'evento per 24 ore fino a un massimo di 185 volte. Per evitare invocazioni non riuscite, puoi modificare la durata della ripetizione di EventBridge nonché il numero di tentativi nelle impostazioni della policy di ripetizione della destinazione.

Nota: EventBridge effettua nuovi tentativi di risposta con un codice di stato HTTP 4## o 5## per un massimo di 24 ore.

Per configurare la policy di ripetizione della destinazione utilizzando la console EventBridge, completa i seguenti passaggi:

  1. Apri la console EventBridge.
  2. Seleziona la regola di EventBridge.
  3. Scegli la scheda Destinazioni, quindi scegli Modifica.
  4. Espandi la scheda Impostazioni aggiuntive.
  5. Per Nuovi tentativi, inserisci il valore personalizzato.

Nota: per le regole degli eventi con più destinazioni, devi impostare singolarmente la policy di ripetizione per ciascuna destinazione.

Per configurare una policy di ripetizione, puoi anche eseguire il comando AWS CLI put-targets o l'API RetryPolicy.

EventBridge gestisce gli errori degli eventi in diversi modi. Ad esempio, EventBridge potrebbe non consegnare un evento quando una destinazione non dispone delle autorizzazioni richieste o non esiste più. Oppure, anziché tentare di inviarlo nuovamente, potrebbe eliminarlo o inviarlo a una coda DLQ precedentemente configurata.

Configura una coda DLQ in EventBridge

Per evitare la perdita di eventi a causa di un errore di consegna, configura una coda DLQ in EventBridge. La coda DLQ riceve tutti gli eventi non riusciti in modo che vengano elaborati in un secondo momento.

Nota: prima di configurare una coda DLQ per una destinazione, devi creare una coda Amazon Simple Queue Service (Amazon SQS). Nella policy della coda Amazon SQS, aggiungi le autorizzazioni necessarie affinché la regola EventBridge la invochi. Se crittografi la coda Amazon SQS, aggiungi le autorizzazioni Decrypt e GenerateDataKey alla policy della chiave del Servizio AWS di gestione delle chiavi (AWS KMS).

Per configurare una coda DLQ, effettua le seguenti operazioni:

  1. Apri la console EventBridge.
  2. Seleziona la regola di EventBridge.
  3. Scegli la scheda Destinazioni, quindi scegli Modifica.
  4. Espandi la scheda Impostazioni aggiuntive.
  5. Nella sezione Coda DLQ, seleziona un'opzione a seconda che la coda DLQ SQS si trovi nello stesso account AWS o in un account diverso.

Per configurare una coda DLQ, puoi anche eseguire il comando AWS CLI put-targets. Per il parametro DeadLetterConfig, utilizza l'ARN della coda SQS.

Recupera i dettagli dell'errore da una coda DLQ

Per verificare che la regola dell'evento abbia inviato il messaggio a una coda DLQ, esamina la metrica InvocationSentToDLQ.

Se viene visualizzato un messaggio, completa i seguenti passaggi:

  1. Aprire la console SQS.
  2. Scegli la coda da utilizzare come DLQ per la regola dell'evento.
  3. Scegli Invio e ricezione di messaggi, quindi scegli Esegui il polling dei messaggi.
  4. Nella sezione Messaggi, apri il messaggio.
  5. Scegli Attributi per determinare il motivo per cui EventBridge non è riuscito a recapitare un messaggio alla destinazione.
    Nota: i dati nella scheda Corpo sono il payload che EventBridge invia alla destinazione quando la consegna dell'evento ha esito positivo.

Informazioni correlate

Monitoraggio di Amazon EventBridge

Metriche di EventBridge

AWS UFFICIALEAggiornata 10 mesi fa