

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.

# Ereignisquellen für einen benutzerdefinierten Event-Bus
<a name="eb-custom-bus-event-sources"></a>

Eine Eventquelle nimmt Ereignisse von einem AWS Service oder einem SaaS-Partner auf einen Custom Event Bus auf. Sie erstellen ihn mit`CreateEventSource`, indem Sie beispielsweise `aws.s3` einen Zielbus und einen Ausgangspunkt benennen und Ereignisse EventBridge vom Ursprung an den Bus weiterleiten. Ihre eigenen Anwendungen veröffentlichen direkt auf dem Bus, sodass Sie eine Ereignisquelle nur für Ereignisse benötigen, die Sie nicht selbst produzieren.

Die aufgenommenen Ereignisse kommen mit dem Inhaltstyp `application/eventbridge+json` auf dem Zielbus im EventBridge Umschlag an. Die Ereignisdaten enthalten die Envelope-Felder: `source` `detail-type``account`,,`time`, `region``resources`, und`detail`. EventBridge legt auch die `aws:DetailType` Systemmetadatenfelder `aws:Source` und aus den Feldern `source` und des Envelopes fest`detail-type`. Siehe [Eventstruktur: Daten, Metadaten und Systemmetadaten](eb-custom-bus-addressing.md).

## Wie werden die Ereignisse verschoben
<a name="eb-custom-bus-event-sources-how"></a>

Wenn Sie eine Eventquelle erstellen, werden eine verwaltete Regel und ein Ziel in Ihrem Konto auf Ihrem Custom Event Bus — Classic EventBridge erstellt. Diese übertragen Ereignisse vom Ursprung auf Ihren Custom Event Bus. Beide werden in Ihrem Konto mit der `ManagedBy` Einstellung auf angezeigt`events.amazonaws.com`. Sie verwalten sie nicht. Wenn Sie die Eventquelle löschen oder sperren, werden sie entfernt. Die Ereignisse erscheinen daher weiterhin in den Metriken von Custom Event Bus — Classic.

## AWS Quellen von Service-Ereignissen
<a name="eb-custom-bus-event-sources-aws"></a>

Eine AWS Dienstereignisquelle nimmt die Ereignisse auf, die ein AWS Dienst, z. B. `aws.s3` oder`aws.ec2`, für Ihr Konto ausgibt. Standardmäßig kommt jedes Ereignis dieses Dienstes im Bus an. Um das einzugrenzen, fügen Sie einen hinzu. `Pattern` Im folgenden Beispiel wird eine Ereignisquelle erstellt, die nur Amazon S3 Object Created-Ereignisse zulässt.

```
aws eventsv2 create-event-source \
    --name s3-object-created \
    --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --configuration '{"AwsServiceEventsConfiguration":{"AwsService":"aws.s3","Pattern":"{\"detail-type\":[\"Object Created\"]}"}}'
```

Das Muster der Ereignisquelle entscheidet, was auf den Bus gelangt. Der Filter eines Abonnenten entscheidet, was dieser Abonnent von den Ereignissen empfängt, die durch den Bus fließen; siehe[Ereignisse für einen Abonnenten filtern](eb-custom-bus-filtering.md). Schreiben Sie das Muster in EventBridge Event Pattern Syntax ([EventBridge Amazon-Event-Muster](eb-event-patterns.md)) und EventBridge werten Sie es anhand des Envelopes aus. Lassen Sie den `source` Schlüssel, die oberste Ebene `account` und die `region` Schlüssel aus dem Muster heraus: EventBridge Fügt diese Bedingungen selbst hinzu, aus Ihrem Konto, Ihrer Region und dem von Ihnen ausgewählten Dienst, und lehnt ein Muster ab, das sie bereitstellt.

## Ereignisquellen für Partner
<a name="eb-custom-bus-event-sources-partner"></a>

Eine Partnerereignisquelle nimmt die Ereignisse auf, die ein SaaS-Partner an Ihr Konto sendet. Bevor Sie eine erstellen, muss der Partner Ihrem Konto eine Partnerereignisquelle anbieten (siehe[Empfangen von Ereignissen von einem SaaS-Partner mit Amazon EventBridge](eb-saas.md)), und diese Quelle muss im `PENDING` Status sein. Im folgenden Beispiel wird eine Ereignisquelle dafür erstellt.

```
aws eventsv2 create-event-source \
    --name example-partner-events \
    --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \
    --configuration '{"PartnerEventsConfiguration":{"PartnerEventSourceArn":"arn:aws:events:us-east-1::event-source/aws.partner/example.com/12345"}}'
```

Wenn Sie die Ereignisquelle erstellen, EventBridge wird in Ihrem Konto ein verwalteter Partner-Event-Bus (ein benutzerdefinierter Event-Bus — Classic) erstellt, um die Partnerquelle zu aktivieren. Wenn Sie die Eventquelle löschen, wird auch dieser Bus EventBridge gelöscht und die Partnerquelle wird an `PENDING` zurückgegeben. Um diesen Bus mit einem vom Kunden verwalteten Schlüssel `PartnerBusKmsKeyIdentifier` zu verschlüsseln, legen Sie einen Schlüssel in Ihrem Konto und Ihrer Region fest. Andernfalls wird ein AWS eigener Schlüssel EventBridge verwendet.

## Dead-letter Warteschlange
<a name="eb-custom-bus-event-sources-dlq"></a>

Um Ereignisse zu erfassen, die den Bus nicht erreichen, stellen Sie `OnFailureConfiguration.Arn` in Ihrem Konto und Ihrer Region eine Amazon SQS-Standardwarteschlange ein. Eine FIFO-Warteschlange wird abgelehnt. Nachrichten kommen vom `events.amazonaws.com` Service-Principal in der Warteschlange an, nicht von einer von Ihnen angegebenen Rolle. Gewähren Sie diesem Principal also `sqs:SendMessage` in der Ressourcenrichtlinie der Warteschlange das Recht.

```
{
    "Effect": "Allow",
    "Principal": { "Service": "events.amazonaws.com" },
    "Action": "sqs:SendMessage",
    "Resource": "arn:aws:sqs:us-east-1:111122223333:my-event-source-dlq",
    "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } }
}
```

Eine Partnerereignisquelle sendet unter zwei Quell-ARNs an die Warteschlange: die verwaltete Regel für Zustellungsfehler und den verwalteten Partnerereignisbus für Verschlüsselungsfehler. Eine Richtlinie, die an Bedingungen geknüpft ist, `aws:SourceArn` muss beides zulassen.

## Berechtigungen
<a name="eb-custom-bus-event-sources-access"></a>

Um eine Ereignisquelle auf einem Bus in einem anderen Konto zu erstellen, muss Ihnen der Busbesitzer eine entsprechende Genehmigung gewähren`events:CreateEventSource`, und zwar entweder durch eine AWS RAM Aktie (`AWSRAMEventBridgeEventBusV2EventSourceAccess`oder`FullAccess`) oder durch eine `PutResourcePolicy` Erklärung für den Bus. Der `events:source` Bedingungsschlüssel enthält den AWS Dienstnamen oder den Namen der Partnerereignisquelle, sodass ein Busbesitzer bestimmte Ursprünge zulassen oder verweigern kann. Siehe [Einen benutzerdefinierten Event Bus mit anderen Konten teilen](eb-custom-bus-sharing.md).

Um den verwalteten Partner-Event-Bus zu verschlüsseln, benötigt Ihre Identität `kms:DescribeKey` und `kms:Decrypt` den Schlüssel, den Sie angeben`PartnerBusKmsKeyIdentifier`; ohne sie `CreateEventSource` schlägt dies fehl. `AccessDeniedException`

```
{
    "Effect": "Allow",
    "Action": ["kms:DescribeKey", "kms:Decrypt"],
    "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
```

Wenn ein anderes Konto Eigentümer des Zielbusses ist und ihn mit einem vom Kunden verwalteten Schlüssel verschlüsselt, muss die Richtlinie dieses Schlüssels auch Ihr Konto zulassen. Andernfalls schlagen die Erstellung, Aktualisierung und Beschreibung der Ereignisquelle fehl.

## Aufgenommene Ereignisse abonnieren
<a name="eb-custom-bus-event-sources-shape"></a>

Um AWS Service- oder Partnerereignisse für einen Abonnenten abzugleichen, filtern Sie nach dem `aws:Source` System-Metadatenfeld. EventBridge schreibt dieses Feld und kein Veröffentlichungsaufruf kann einen Wert festlegen`aws.`, der mit beginnt. Eine Übereinstimmung mit diesem Wert ist also die einzige Übereinstimmung, die den Ursprung eines Ereignisses belegt. Passen Sie bei AWS Serviceereignissen den Dienstnamen an, bei Partnerereignissen den Namen der Partnerereignisquelle.

```
{ "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[\"aws.s3\"]}" }

{ "Scope": "SYSTEM_METADATA", "Pattern": "{\"aws:Source\":[{\"prefix\":\"aws.partner/example.com\"}]}" }
```

Um nach dem Veranstaltungsinhalt zu filtern, fügen Sie einen `DATA` Filter hinzu. Der Umschlag enthält den Inhalt`detail`.

```
{ "Scope": "DATA", "Pattern": "{\"detail\":{\"bucket\":{\"name\":[\"amzn-s3-demo-bucket\"]}}}" }
```

Die Eventdaten enthalten auch `source` und`detail-type`, und jeder Herausgeber kann diese Werte in eine Nutzlast schreiben, sodass der Ursprung nicht bewiesen wird. Die Übereinstimmung erfolgt `aws:Source` nach Wert, nicht nach Präsenz: Ein direkter `PutEvents` Anruf beginnt ebenfalls von selbst `aws:Source``Source`, der niemals mit `aws.` dem Wert beginnt.

## Dauerhaftes Stoppen einer Ereignisquelle
<a name="eb-custom-bus-event-sources-revoke"></a>

Der Busbesitzer kann die Aufnahme einer Ereignisquelle dauerhaft verhindern, indem er `RevokeResource` mit ihrem ARN aufruft; siehe[Einen Abonnenten oder eine Ereignisquelle sperren](eb-custom-bus-access-revoke.md). Eine widerrufene Ereignisquelle kann nicht wiederhergestellt werden. Der Widerruf bezieht sich auf die eine Ressource, die Sie benennen. Kombinieren Sie sie daher mit einer Busressourcenrichtlinie, die verhindert, dass dasselbe Konto ein anderes erstellt. Gehen Sie wie folgt vor, um das Konto daran zu hindern, eine Eventquelle auf dem Bus zu erstellen:

```
{
    "Effect": "Deny",
    "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
    "Action": "events:CreateEventSource",
    "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef"
}
```

Um einen Ursprung zu blockieren und andere gleichzeitig zuzulassen, setzen Sie die Sperrung auf „On`events:source`“.

```
{
    "Effect": "Deny",
    "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
    "Action": "events:CreateEventSource",
    "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef",
    "Condition": { "StringEquals": { "events:source": "aws.partner/example.com/12345" } }
}
```

## Bestätigen Sie, dass die Ereignisse auf den Bus übertragen werden
<a name="eb-custom-bus-event-sources-troubleshooting"></a>

Zwei Sätze von Metriken zeigen, ob aufgenommene Ereignisse den Custom Event Bus erreichen. Die verwaltete Regel meldet die üblichen Regelmetriken in Ihrem Konto unter`AWS/Events`. Die Veröffentlichungsmetriken des Zielbusses haben eine `EventSource` Dimension, die eine Aufschlüsselung des eingehenden Datenverkehrs pro Ereignisquelle ermöglicht; siehe. [Beobachtbarkeit für den Custom Event Bus: Metriken, Protokolle und CloudTrail](eb-custom-bus-observability.md)

Wenn ein Abonnent Ereignisse von einem Custom Event Bus auf einen anderen Accounts überträgt, behalten AWS Service- und Partnerereignisse ihre eigenen, `aws:DetailType` solange die Struktur `aws:Source` und der Inhalt des Events intakt bleiben. EventBridge autorisiert ihre Ankunft auf dem Zielbus mit`events:PutEvents`, daher muss die Ressourcenrichtlinie des Zielbusses diese Aktion der Weiterleitungsrolle gewähren. Ereignisse, die von Ihren veröffentlichten Anwendungen ausgelöst werden`events:PutRawEvents`, sodass für einen Stream, der beide Elemente kombiniert, beide Aktionen erforderlich sind; siehe[Ziel des Event-Busses: Bus zu Bus](eb-custom-bus-target-bus.md).