

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Richtlinien und Warteschlangen mit unzustellbaren Briefen wiederholen
<a name="eb-custom-bus-retry"></a>

Wenn ein Zielaufruf fehlschlägt, EventBridge versuchen Sie es erneut, bis einer der beiden Grenzwerte erreicht `RetryPolicy` ist (standardmäßig 5 Versuche oder 300 Sekunden). Dann wird ein Datensatz in die Amazon SQS-Warteschlange geschrieben. `OnFailureConfiguration.Arn` Legen Sie beide fest, wenn Sie den Abonnenten erstellen: Ohne eine Warteschlange mit unleserlichen Nachrichten wird ein Ereignis, das seine Wiederholungsversuche erschöpft, gelöscht, und die einzige Spur ist die Metrik. `EventsDropped`

## Grenzwerte für Wiederholungsversuche
<a name="eb-custom-bus-retry-policy"></a>

Die Zustellung endet an dem Limit, das zuerst erreicht wird.


| Limit | Range | Standard | 
| --- | --- | --- | 
| MaxRetryAttempts | 0 bis 185 | 5 | 
| MaxEventAgeInSeconds | 60 bis 86.400 | 300 | 

Die Standardwerte sind kürzer als bei einem Custom Event Bus — Classic-Ziel mit 24 Stunden und 185 Versuchen. Ein migriertes Design, das auf einem Tag voller Wiederholungsversuche beruhte, muss explizit auf 86.400 gesetzt `MaxEventAgeInSeconds` werden. Andernfalls werden Ereignisse, die während eines Zielausfalls von mehr als 5 Minuten fehlschlagen, in die Warteschlange für unzustellbare Nachrichten verschoben, anstatt verspätet zugestellt zu werden. Bei einem FIFO-Abonnenten blockiert ein fehlgeschlagenes Ereignis die späteren Ereignisse in seiner Gruppe, solange es erneut versucht wird. Ein langes Wiederholungsfenster tauscht also die Reihenfolge gegen die Latenz aus.

## Der Datensatz mit toten Buchstaben
<a name="eb-custom-bus-retry-record"></a>

Der Datensatz ist ein JSON-Dokument, nicht das Ereignis. Das folgende Beispiel zeigt einen Datensatz für zwei Ereignisse, die zusammen in einem Batch fehlgeschlagen sind.

```
{
    "version": "1.0",
    "busArn": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef",
    "subscriberArn": "arn:aws:events:us-east-1:111122223333:subscriber/large-orders/EXAMPLEabcdef1234567890",
    "targetArn": "arn:aws:sqs:us-east-1:111122223333:large-orders",
    "errorCode": "ACCESS_DENIED",
    "errorMessage": "The delivery role is not authorized to perform sqs:SendMessage on the target.",
    "exhaustedRetryCondition": "MaximumEventAgeInSeconds",
    "retryAttempts": 4,
    "failedMessages": [
        { "eventId": "a1b2c3d4-...", "eventGroupId": "order-1001", "deduplicationId": null, "timestamp": "2026-09-16T18:40:12Z", "targetRequestId": "..." },
        { "eventId": "e5f6a7b8-...", "eventGroupId": "order-1001", "deduplicationId": null, "timestamp": "2026-09-16T18:40:13Z", "targetRequestId": "..." }
    ]
}
```

Jeder Fehler, der die Warteschlange erreicht, wurde zuerst wiederholt: Es gibt keinen Übermittlungsfehler, der übersprungen `RetryPolicy` wird. Fehler in sich EventBridge selbst werden EventBridge ohne Limit wiederholt und führen nie zu einem Datensatz. In der folgenden Tabelle sind die Codes aufgeführt, die ein Datensatz enthalten kann. `errorMessage`ist auf 1.024 Zeichen gekürzt.


| `errorCode` | Was ist fehlgeschlagen | `errorMessage` | 
| --- | --- | --- | 
| CUSTOMER\_VALIDATION | Die Ziel-API hat die Anfrage abgelehnt (eine 4xx-Antwort): ein schlechter Wert, ein fehlendes Feld, ein falsch formatierter Text | Die eigene Nachricht der Ziel-API | 
| ACCESS\_DENIED | EventBridge konnte die Bereitstellungsrolle nicht übernehmen, die Rolle darf das Ziel nicht aufrufen oder der AWS KMS Schlüssel des Ziels wurde der Zugriff verweigert | EventBridge konnte nicht davon ausgehen{{role}}. Stellen Sie sicher, dass die Rolle existiert und ob ihre Vertrauensrichtlinie es dem EventBridge Dienstprinzipal ermöglicht, sie zu übernehmen. oder  EventBridge konnte nicht zugreifen{{resource}}. Stellen Sie sicher, dass es existiert und ob seine Richtlinie dem EventBridge Dienstprinzipalzugriff gewährt.  | 
| RESOURCE\_NOT\_FOUND | Das Ziel oder sein AWS KMS Schlüssel existiert nicht | Die obige  Meldung  konnte nicht zugegriffen werden, oder die allgemeine Nachricht | 
| INPUT\_TRANSFORMATION\_FAILURE | Der Input Ausdruck Transformer oder universal-target hat keinen Wert ausgegeben oder erzeugt | Der Ausdrucksfehler | 
| THROTTLING | Das Ziel hat den Anruf gedrosselt | Die generische Nachricht | 
| EXECUTION\_TIMEOUT | Das Ziel hat nicht innerhalb von InvocationTimeoutSeconds | Die generische Nachricht | 
| REQUEST\_TOO\_LARGE | Die Anfrage hat die Größenbeschränkung des Ziels überschritten; niedriger MaxBatchSize | Die generische Nachricht | 
| PARTIAL\_BATCH\_FAILURE | Das Ziel hat einen Teil eines Batches akzeptiert und den Rest zurückgewiesen. Im Datensatz failedMessages sind nur die abgelehnten Ereignisse aufgeführt | Die generische Nachricht | 
| RESOURCE\_CONFLICT | Das Ziel hat einen Konflikt gemeldet, zum Beispiel einen bereits verwendeten Namen | Die generische Nachricht | 
| KMS\_INVALID\_STATE | Der AWS KMS Schlüssel des Ziels ist deaktiviert oder muss noch gelöscht werden | Die generische Nachricht | 
| SFN\_TYPE\_NOT\_SUPPORTED | REQUEST\_RESPONSEwurde mit einer Standard-State-Machine verwendet, die keine synchrone Ausführung unterstützt | Die generische Nachricht | 
| COMPUTE\_EXECUTION\_ERROR | Eine REQUEST\_RESPONSE Funktion oder Ausführung wurde ausgeführt und ein Fehler gemeldet | Die generische Nachricht | 
| INVOCATION\_DEPENDENCY\_INTERNAL | Das Ziel hat einen Serverfehler zurückgegeben (eine 5xx-Antwort) | Die generische Nachricht | 
| LOOP\_DETECTED | Das Ereignis oder ein davon abgeleitetes Ereignis wurde bereits durch den Zielbus geleitet; siehe [Erkennung von Schleifen](eb-custom-bus-target-bus.md#eb-custom-bus-target-bus-loops) | Die generische Nachricht | 
| INTERNAL\_SERVER\_ERROR | Ein interner Fehler EventBridge beim Telefonieren, der die Wiederholungsversuche immer noch erschöpft hat | Die generische Nachricht | 

Die generische Nachricht lautet * Die Zustellung ist fehlgeschlagen. Verwenden Sie bei der Untersuchung den Fehlercode und die Anforderungs-ID dieses Datensatzes und wenden Sie sich an den AWS Support, falls der Fehler weiterhin besteht. * EventBridge verwendet ihn überall dort, wo die Übertragung der zugrundeliegenden Nachricht die internen Daten eines anderen Dienstes offenlegen könnte. Bei diesen Codes `targetRequestId` sind also das `errorCode` und die Fakten, anhand derer gearbeitet werden muss, zusammen mit den `EVENT_DELIVERY_ATTEMPT` Protokolldatensätzen, die die gesendete Anfrage enthalten. Es kommen dieselben Werte als Amazon SQS-Nachrichtenattribute an (`ERROR_CODE`,,,`ERROR_MESSAGE`,,`SUBSCRIBER_ARN`,`TARGET_ARN`,`RETRY_ATTEMPTS`) `BUS_ARN``EXHAUSTED_RETRY_CONDITION`, sodass ein Verbraucher sie weiterleiten kann, ohne den Haupttext analysieren zu müssen. Verwenden Sie für einen FIFO-Abonnenten eine FIFO-Warteschlange als Warteschlange für unlesbare Briefe. Dabei wird jeder Datensatz `MessageGroupId` aus den Ereignissen übernommen`EventGroupId`, sodass die Reihenfolge der Datensätze für eine Gruppe beibehalten wird. EventBridge 

Die Zustellungsrolle muss in der Warteschlange enthalten sein. `sqs:SendMessage` Ohne sie zählt die `OnFailureDestinationFailed` Metrik jeden Datensatz, der nicht geschrieben werden konnte, und diese Ereignisse gehen verloren.

## Ereignisse werden aus der Warteschlange, in der keine Nachrichten mehr angezeigt werden, erneut abgerufen
<a name="eb-custom-bus-retry-redrive"></a>

Die Warteschlange enthält Datensätze, keine Ereignisse. Sie fahren also erneut, indem Sie die Ereignisse vom Bus erneut abspielen. Die Ereignisse müssen noch innerhalb der Aufbewahrungsfrist des Busses liegen.

1. Lesen Sie die Aufzeichnungen und sammeln Sie alle `failedMessages[].eventId` sowie die frühesten und neuesten`timestamp`.

1. Korrigieren Sie die Ursache in den `errorCode` Namen: die Richtlinie der Rolle, das Ziel oder der Ausdruck.

1. Erstellen Sie einen Abonnenten auf demselben Bus mit demselben Ziel und derselben Rolle, einer `POINT_IN_TIME` Startposition, deren `StartingPoint` Zeitstempel der früheste und dessen späteste `EndPoint` ist, und einem `SYSTEM_METADATA` Filter für die Identifikatoren.

1. Wenn der Abonnent die Ereignisse übermittelt hat, löschen Sie sie und löschen Sie die Datensätze aus der Warteschlange.

```
aws eventsv2 create-subscriber \
    --name redrive-2026-09-16 \
    --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --starting-position POINT_IN_TIME \
    --point-in-time-configuration '{ "PointType": "TIMESTAMP", "StartingPoint": "2026-09-16T18:40:00Z", "EndPoint": "2026-09-16T18:41:00Z" }' \
    --filter-configuration '{ "Filters": [ { "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:EventId\":[\"a1b2c3d4-...\",\"e5f6a7b8-...\"]}" } ] }' \
    --invoke-configuration '{ "TargetArn": "arn:aws:sqs:us-east-1:111122223333:large-orders", "RoleArn": "arn:aws:iam::111122223333:role/EventBusDeliveryRole" }'
```

Die wiedergegebenen Ereignisse kommen mit an `aws:DeliveryType``REPLAY`, sodass ein Verbraucher sie anhand des Live-Verkehrs erkennen kann.