

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.

# Problembehebung bei Amazon EventBridge
<a name="eb-troubleshooting"></a>

Sie können die Themen in diesem Abschnitt verwenden, um Probleme mit Amazon zu EventBridge beheben.

**Tipp**  
Um zu überprüfen, ob Ihre Ereignismuster mit den erwarteten Ereignissen übereinstimmen, können Sie die EventBridge Sandbox verwenden, um Ereignismuster anhand von Beispielereignissen zu testen. Weitere Informationen finden Sie unter [Testen von Ereignismustern mit der EventBridge Sandbox](eb-event-pattern-sandbox.md).

**Topics**
+ [Meine Regel wurde ausgeführt, aber meine Lambda-Funktion wurde nicht aufgerufen](#eb-lam-function-not-invoked)
+ [Ich habe gerade eine Regel erstellt oder bearbeitet, sie stimmt aber nicht mit einem Testereignis überein.](#eb-rule-does-not-match)
+ [Meine Regel wurde nicht zu dem Zeitpunkt ausgeführt, den ich im `ScheduleExpression` angegeben habe.](#eb-rule-did-not-trigger)
+ [Meine Regel wurde nicht zum erwarteten Zeitpunkt ausgeführt.](#eb-rule-did-not-trigger-on-time)
+ [Meine Regel entspricht AWS globalen Service-API-Aufrufen, wurde aber nicht ausgeführt](#eb-rule-did-not-trigger-iam)
+ [Die mit meiner Regel verknüpfte IAM-Rolle wird ignoriert, wenn die Regel ausgeführt wird.](#eb-iam-role-ignored)
+ [Meine Regel verfügt über ein Ereignismuster, das einer Ressource entsprechen soll, aber es stimmen keine Ereignisse überein.](#eb-events-do-not-match-rule)
+ [Die Bereitstellung meines Ereignisses an das Ziel verzögerte sich.](#eb-delayed-event-delivery)
+ [Einige Ereignisse wurden nie in mein Ziel ausgeliefert](#eb-never-delivered-to-target)
+ [Meine Regel wurde als Antwort auf ein Ereignis mehr als einmal ausgeführt.](#eb-rule-triggered-more-than-once)
+ [Verhindern von Endlosschleifen](#eb-prevent-infinite-loops)
+ [Meine Ereignisse werden nicht in die Amazon SQS-Zielwarteschlange ausgeliefert](#eb-sqs-encrypted)
+ [Meine Regel wird ausgeführt, aber mir werden keine im Amazon SNS-Thema veröffentlichten Nachrichten angezeigt.](#eb-no-messages-published-sns)
+ [Mein Amazon SNS SNS-Thema hat EventBridge auch nach dem Löschen der Regel, die mit dem Amazon SNS SNS-Thema verknüpft ist, weiterhin Berechtigungen](#eb-sns-permissions-persist)
+ [Mit welchen IAM-Bedingungsschlüsseln kann ich sie verwenden? EventBridge](#eb-supported-access-policies)
+ [Woran erkenne ich, dass EventBridge Regeln verletzt wurden?](#eb-create-alarm-broken-event-rules)

## Meine Regel wurde ausgeführt, aber meine Lambda-Funktion wurde nicht aufgerufen
<a name="eb-lam-function-not-invoked"></a>

Ein Grund dafür, dass Ihre Lambda-Funktion möglicherweise nicht ausgeführt wird, liegt darin, dass Sie nicht über die richtigen Berechtigungen verfügen. 

**So überprüfen Sie Ihre Berechtigungen für die Lambda-Funktion**

1. Führen Sie mit dem AWS CLI den folgenden Befehl mit Ihrer Funktion und Ihrer AWS Region aus:

   ```
   aws lambda get-policy --function-name MyFunction --region us-east-1
   ```

   Die Ausgabe sollte folgendermaßen aussehen.

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
   "Condition": {
   "ArnLike": {
   "AWS:SourceArn": "arn:aws:events:us-east-1:123456789012:rule/rule-name"
   }
   },
   "Action": "lambda:InvokeFunction",
   "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name",
   "Effect": "Allow",
   "Principal": {
   "Service": "events.amazonaws.com"
   },
   "Sid": "MyId"
   }
   ],
   "Id": "default"
   }
   ```

------

1. Wenn folgende Meldung angezeigt wird.

   ```
   A client error (ResourceNotFoundException) occurred when calling the GetPolicy operation: The resource you requested does not exist.
   ```

   Oder wenn Ihnen die Ausgabe zwar angezeigt wird, Sie aber events.amazonaws.com nicht als vertrauenswürdige Entität in der Richtlinie finden können, führen Sie den folgenden Befehl aus:

   ```
   aws lambda add-permission \
   --function-name MyFunction \
   --statement-id MyId \
   --action 'lambda:InvokeFunction' \
   --principal events.amazonaws.com \
   --source-arn arn:aws:events:us-east-1:123456789012:rule/MyRule
   ```

1. Wenn die Ausgabe ein `SourceAccount`-Feld enthält, müssen Sie es entfernen. Eine `SourceAccount` Einstellung EventBridge verhindert, dass die Funktion aufgerufen werden kann.

**Anmerkung**  
Wenn die Richtlinie falsch ist, können Sie die [Regel](eb-rules.md) in der EventBridge Konsole bearbeiten, indem Sie sie entfernen und dann wieder zur Regel hinzufügen. Die EventBridge Konsole legt dann die richtigen Berechtigungen für das [Ziel](eb-targets.md) fest.  
Wenn Sie einen bestimmten Lambda-Alias oder eine spezielle Version verwenden, fügen Sie die `--qualifier`-Parameter in den Befehlen `aws lambda get-policy` und `aws lambda add-permission` hinzu, wie im folgenden Befehl gezeigt.   

```
aws lambda add-permission \
--function-name MyFunction \
--statement-id MyId \
--action 'lambda:InvokeFunction' \
--principal events.amazonaws.com \
--source-arn arn:aws:events:us-east-1:123456789012:rule/MyRule
--qualifier alias or version
```

## Ich habe gerade eine Regel erstellt oder bearbeitet, sie stimmt aber nicht mit einem Testereignis überein.
<a name="eb-rule-does-not-match"></a>

Wenn Sie an einer [Regel](eb-rules.md) oder deren [Zielen](eb-targets.md) Änderungen vornehmen, stimmen die Einstellungen der eingehenden [Ereignisse](eb-events.md) möglicherweise nicht sofort mit den aktualisierten Regeln überein. Warten Sie einen Augenblick, bis die Änderungen wirksam werden. 

Wenn die Ereignisse nach kurzer Zeit immer noch nicht übereinstimmen, überprüfen Sie die CloudWatch Metriken `TriggeredRules` und `FailedInvocations` Ihre Regel. `Invocations` Weitere Informationen zu diesen Metriken finden Sie unter [Amazon überwachen EventBridge](eb-monitoring.md).

Wenn die Regel einem Ereignis eines AWS Dienstes entsprechen soll, gehen Sie wie folgt vor:
+ Verwenden Sie die Aktion `TestEventPattern`, um zu testen, ob das Ereignismuster Ihrer Regel mit einem Testereignis übereinstimmt. Weitere Informationen finden Sie [TestEventPattern](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/API_TestEventPattern.html)in der *Amazon EventBridge API-Referenz*.
+ Verwenden Sie die **Sandbox** auf der [EventBridge Konsole](https://console.aws.amazon.com/events).

## Meine Regel wurde nicht zu dem Zeitpunkt ausgeführt, den ich im `ScheduleExpression` angegeben habe.
<a name="eb-rule-did-not-trigger"></a>

Stellen Sie sicher, dass Sie den Zeitplan für die [Regel](eb-rules.md) auf die Zeitzone UTC\$10 eingestellt haben. Wenn der `ScheduleExpression` korrekt ist, befolgen Sie die Schritte unter [Ich habe gerade eine Regel erstellt oder bearbeitet, sie stimmt aber nicht mit einem Testereignis überein.](#eb-rule-does-not-match).

## Meine Regel wurde nicht zum erwarteten Zeitpunkt ausgeführt.
<a name="eb-rule-did-not-trigger-on-time"></a>

EventBridge führt [Regeln](eb-rules.md) innerhalb einer Minute nach der von Ihnen festgelegten Startzeit aus. Der Countdown beginnt zu laufen, sobald Sie die Regel erstellen.

**Anmerkung**  
Geplante Regeln weisen die Zustellungsart `guaranteed` auf, was bedeutet, dass Ereignisse für jeden erwarteten Zeitpunkt mindestens einmal ausgelöst werden.

Sie können einen Cron-Ausdruck verwenden, um [Ziele](eb-targets.md) zu einem bestimmten Zeitpunkt aufzurufen. Wenn Sie eine Regel erstellen möchten, die alle vier Stunden in der 0. Minute ausgeführt wird, gehen Sie wie folgt vor:
+ In der EventBridge Konsole verwenden Sie den Cron-Ausdruck`0 0/4 * * ? *`.
+ Mit dem AWS CLI verwenden Sie den Ausdruck`cron(0 0/4 * * ? *)`.

Um beispielsweise mithilfe von eine Regel mit dem Namen zu erstellen`TestRule`, die alle 4 Stunden ausgeführt wird AWS CLI, verwenden Sie den folgenden Befehl.

```
aws events put-rule --name TestRule --schedule-expression 'cron(0 0/4 * * ? *)'
```

Wenn Sie eine Regel alle fünf Minuten ausführen möchten, verwenden Sie den folgenden Cron-Ausdruck.

```
aws events put-rule --name TestRule --schedule-expression 'cron(0/5 * * * ? *)'
```

Die beste Auflösung für eine EventBridge Regel, die einen Cron-Ausdruck verwendet, ist eine Minute. Die geplante Regel wird innerhalb der angegebenen Minute ausgeführt, aber nicht exakt in der 0. Sekunde.

Da EventBridge die Zieldienste verteilt sind, kann es zwischen der Ausführung der geplanten Regel und dem Zeitpunkt, zu dem der Zieldienst die Aktion auf der Zielressource ausführt, zu einer Verzögerung von mehreren Sekunden kommen.

## Meine Regel entspricht AWS globalen Service-API-Aufrufen, wurde aber nicht ausgeführt
<a name="eb-rule-did-not-trigger-iam"></a>

AWS globale Dienste wie IAM und Amazon Route 53 sind nur in der Region USA Ost (Nord-Virginia) verfügbar, sodass Ereignisse aus AWS API-Aufrufen von globalen Diensten nur in dieser Region verfügbar sind. Weitere Informationen finden Sie unter [Ereignisse aus AWS Diensten](eb-events.md#eb-service-event).

## Die mit meiner Regel verknüpfte IAM-Rolle wird ignoriert, wenn die Regel ausgeführt wird.
<a name="eb-iam-role-ignored"></a>

EventBridge verwendet nur IAM-Rollen für [Regeln](eb-rules.md), die [Ereignisse](eb-events.md) an Kinesis-Streams senden. Für Regeln, die Lambda-Funktionen und Amazon SNS-Themen aufrufen, müssen Sie [ressourcenbasierte Berechtigungen](eb-use-resource-based.md) erteilen.

Stellen Sie sicher, dass Ihre regionalen AWS STS Endgeräte aktiviert sind, damit sie verwendet werden EventBridge können, wenn Sie die von Ihnen angegebene IAM-Rolle übernehmen. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [Aktivierung und Deaktivierung AWS STS in einer AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html).

## Meine Regel verfügt über ein Ereignismuster, das einer Ressource entsprechen soll, aber es stimmen keine Ereignisse überein.
<a name="eb-events-do-not-match-rule"></a>

Die meisten Dienste in AWS behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen in Amazon Resource Names (ARNs)., EventBridge verwenden aber eine exakte Übereinstimmung in den [Ereignismustern](eb-event-patterns.md) und [Regeln](eb-rules.md). Verwenden Sie also die richtigen ARN-Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in dem [Ereignis](eb-events.md) übereinstimmen.

Einige Ereignisse, wie z. B. AWS API-Aufrufereignisse von CloudTrail, haben im Feld Ressourcen nichts.

## Die Bereitstellung meines Ereignisses an das Ziel verzögerte sich.
<a name="eb-delayed-event-delivery"></a>

EventBridge versucht, ein [Ereignis](eb-events.md) bis zu 24 Stunden lang an ein [Ziel](eb-targets.md) zu übermitteln, außer in Szenarien, in denen Ihre Zielressource eingeschränkt ist. Der erste Versuch erfolgt, sobald das Ereignis im Ereignis-Stream eintrifft. Wenn der Zieldienst Probleme hat, wird EventBridge automatisch ein neuer Termin für eine weitere Zustellung festgelegt. Wenn seit dem Eintreffen des Ereignisses 24 Stunden vergangen sind, EventBridge unterbricht der Versuch, das Ereignis zuzustellen, und veröffentlicht die `FailedInvocations` Metrik in CloudWatch. Wir empfehlen, dass Sie eine Warteschlange für unzustellbare Nachrichten einrichten, um Ereignisse zu speichern, die nicht erfolgreich an ein Ziel übermittelt werden konnten. Weitere Informationen finden Sie unter [Verwenden von Warteschlangen mit unzugestellten Nachrichten zur Verarbeitung nicht zugestellter Ereignisse in EventBridge](eb-rule-dlq.md).

## Einige Ereignisse wurden nie in mein Ziel ausgeliefert
<a name="eb-never-delivered-to-target"></a>

Wenn das [Ziel](eb-targets.md) einer EventBridge [Regel](eb-rules.md) über einen längeren Zeitraum eingeschränkt ist, wird die Übertragung EventBridge möglicherweise nicht erneut versucht. Wenn das Ziel beispielsweise nicht für die Verarbeitung des eingehenden [Ereignisverkehrs](eb-events.md) vorgesehen ist und der Zieldienst Anfragen, die in Ihrem Namen gestellt werden, drosselt, wird die EventBridge Zustellung möglicherweise nicht erneut EventBridge versucht.

## Meine Regel wurde als Antwort auf ein Ereignis mehr als einmal ausgeführt.
<a name="eb-rule-triggered-more-than-once"></a>

In seltenen Fällen kann die gleiche [Regel](eb-rules.md) mehr als einmal für ein einzelnes [Ereignis](eb-events.md) oder eine geplante Zeit ausgeführt werden, oder dasselbe [Ziel](eb-targets.md) kann für eine bestimmte ausgelöste Regel mehr als einmal aufgerufen werden. 

## Verhindern von Endlosschleifen
<a name="eb-prevent-infinite-loops"></a>

In ist es möglich EventBridge, eine [Regel](eb-rules.md) zu erstellen, die zu Endlosschleifen führt, in denen die Regel wiederholt ausgeführt wird. Wenn Sie über eine Regel verfügen, die eine Endlosschleife verursacht, schreiben Sie sie so um, dass die Aktionen, die die Regel ausführt, nicht derselben Regel entsprechen. 

Beispielsweise verursacht eine Regel, die erkennt, dass Änderungen in einem Amazon S3-Bucket vorgenommen ACLs wurden, und dann Software ausführt, um sie in einen neuen Status zu versetzen, eine Endlosschleife. Eine Möglichkeit, dieses Problem zu lösen, besteht darin, die Regel so umzuschreiben, dass sie nur Treffer enthält ACLs , die sich in einem schlechten Zustand befinden. 

Eine Endlosschleife kann schnell höhere Gebühren als erwartet verursachen. Wir empfehlen, dass Sie Budgetierung verwenden, um Warnungen zu erhalten, wenn die Gebühren das von Ihnen angegebene Limit überschreiten. Weitere Informationen finden Sie unter [Verwalten der Kosten mit Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html).

## Meine Ereignisse werden nicht in die Amazon SQS-Zielwarteschlange ausgeliefert
<a name="eb-sqs-encrypted"></a>

Wenn Ihre Amazon-SQS-Warteschlange verschlüsselt ist, müssen Sie einen vom Kunden verwalteten KMS-Schlüssel erstellen und den folgenden Berechtigungsabschnitt in Ihre KMS-Schlüsselrichtlinie aufnehmen. Weitere Informationen finden Sie unter [AWS KMS Berechtigungen konfigurieren](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-key-management.html#sqs-what-permissions-for-sse).

```
{
  "Sid": "Allow EventBridge to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": "events.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*"
}
```

## Meine Regel wird ausgeführt, aber mir werden keine im Amazon SNS-Thema veröffentlichten Nachrichten angezeigt.
<a name="eb-no-messages-published-sns"></a>

**Szenario 1**

Sie benötigen die Berechtigung, Nachrichten im Amazon-SNS-Thema zu veröffentlichen. Verwenden Sie den folgenden Befehl AWS CLI, indem Sie us-east-1 durch Ihre Region ersetzen und Ihren Themen-ARN verwenden.

```
aws sns get-topic-attributes --region us-east-1 --topic-arn "arn:aws:sns:us-east-1:123456789012:MyTopic"
```

Wenn Sie über die richtige Berechtigung verfügen möchten, müssen Ihre Richtlinienattribute den folgenden ähneln.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "__default_policy_ID",
    "Statement": [
    {
    "Sid": "__default_statement_ID",
    "Effect": "Allow",
    "Principal": {
    "AWS": "*"
    },
    "Action": [
    "SNS:Subscribe",
    "SNS:ListSubscriptionsByTopic",
    "SNS:DeleteTopic",
    "SNS:GetTopicAttributes",
    "SNS:Publish",
    "SNS:RemovePermission",
    "SNS:AddPermission",
    "SNS:SetTopicAttributes"
    ],
    "Resource": "arn:aws:sns:us-east-1:123456789012:MyTopic",
    "Condition": {
    "StringEquals": {
    "AWS:SourceOwner": "123456789012"
    }
    }
    },
    {
    "Sid": "Allow_Publish_Events",
    "Effect": "Allow",
    "Principal": {
    "Service": "events.amazonaws.com"
    },
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:us-east-1:123456789012:MyTopic"
    }
    ]
    }
```

------

Wenn in Ihrer Richtlinie `events.amazonaws.com` mit `Publish`-Berechtigung nicht angezeigt wird, kopieren Sie zunächst die aktuelle Richtlinie und fügen Sie die folgende Anweisung zur Liste der Anweisungen hinzu.

```
{\"Sid\":\"Allow_Publish_Events\",
\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"events.amazonaws.com\"},
\"Action\":\"sns:Publish\",
\"Resource\":\"arn:aws:sns:us-east-1:123456789012:MyTopic\"}
```

Legen Sie dann die Themenattribute fest AWS CLI, indem Sie den folgenden Befehl verwenden.

```
aws sns set-topic-attributes --region us-east-1 --topic-arn "arn:aws:sns:us-east-1:123456789012:MyTopic" --attribute-name Policy --attribute-value NEW_POLICY_STRING
```

**Anmerkung**  
Wenn die Richtlinie falsch ist, können Sie die [Regel](eb-rules.md) auch in der EventBridge Konsole bearbeiten, indem Sie sie entfernen und dann wieder zur Regel hinzufügen. EventBridge legt die richtigen Berechtigungen für das [Ziel](eb-targets.md) fest.

**Szenario 2**

Wenn Ihr SNS-Thema verschlüsselt ist, müssen Sie den folgenden Abschnitt in Ihre KMS-Schlüsselrichtlinie aufnehmen.

```
{
  "Sid": "Allow EventBridge to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": "events.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*"
}
```

## Mein Amazon SNS SNS-Thema hat EventBridge auch nach dem Löschen der Regel, die mit dem Amazon SNS SNS-Thema verknüpft ist, weiterhin Berechtigungen
<a name="eb-sns-permissions-persist"></a>

Wenn Sie eine [Regel](eb-rules.md) mit Amazon SNS als [Ziel](eb-targets.md) erstellen, EventBridge fügt Ihrem Amazon SNS SNS-Thema in Ihrem Namen Berechtigungen hinzu. Wenn Sie die Regel kurz nach ihrer Erstellung löschen, wird die Genehmigung EventBridge möglicherweise nicht aus Ihrem Amazon SNS SNS-Thema entfernt. Wenn dies geschieht, können Sie die Berechtigung aus dem Thema mithilfe des Befehls `aws sns set-topic-attributes` entfernen. Weitere Informationen zu ressourcenbasierten Berechtigungen für das Senden von Ereignissen finden Sie unter [Verwendung ressourcenbasierter Richtlinien für Amazon EventBridge](eb-use-resource-based.md).

## Mit welchen IAM-Bedingungsschlüsseln kann ich sie verwenden? EventBridge
<a name="eb-supported-access-policies"></a>

EventBridge unterstützt die AWS-weiten Bedingungsschlüssel (siehe [IAM- und AWS STS Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) im *IAM-Benutzerhandbuch*) sowie die unter aufgeführten Schlüssel. [Verwendung der IAM-Richtlinienbedingungen in Amazon EventBridge](eb-use-conditions.md)

## Woran erkenne ich, dass EventBridge Regeln verletzt wurden?
<a name="eb-create-alarm-broken-event-rules"></a>

Sie können den folgenden Alarm verwenden, um Sie zu benachrichtigen, wenn Ihre EventBridge [Regeln](eb-rules.md) verletzt werden.

**Um einen Alarm zu erstellen, der warnt, wenn Regeln nicht eingehalten werden,**

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie **Alarm erstellen** aus. Wählen Sie im Bereich **CloudWatch Metriken nach Kategorie** die Option **Event-Metriken** aus.

1. Wählen Sie in der Liste der Metriken die Option aus **FailedInvocations**.

1. Wählen Sie über dem Diagramm **Statistic** und **Sum** aus.

1. Wählen Sie einen Wert für **Period** aus, z. B. **5 Minuten**. Wählen Sie **Weiter** aus.

1. Geben Sie unter **Alarmschwellenwert** für **Name** beispielsweise einen eindeutigen Namen für den Alarm ein **myFailedRules**. Geben Sie für **Beschreibung** eine Beschreibung des Alarms ein. Beispiel: **Regeln übermitteln keine Ereignisse an das Ziel**.

1. Wählen Sie für **is** die Option **>=** und **1** aus. Geben Sie für **for** die Option **10** ein.

1. Wählen Sie unter **Actions** (Aktionen) für **Whenever this alarm** die Option **State is ALARM** (Status ist ALARM) aus.

1. Wählen Sie für **Send notification to (Benachrichtigung senden an)** ein vorhandenes Amazon SNS-Thema aus oder erstellen Sie ein neues. Um ein neues Thema zu erstellen, wählen Sie **New list** aus. Geben Sie einen Namen für das neue Amazon SNS SNS-Thema ein, zum Beispiel: **myFailedRules**. 

1. Geben Sie für **Email list (E-Mail-Liste)** eine durch Kommata getrennte Liste der E-Mail-Adressen ein, die benachrichtigt werden sollen, wenn der Alarm in den Status **ALARM** versetzt wird.

1. Wählen Sie **Alarm erstellen** aus.