View a markdown version of this page

Ziele von Amazon EventBridge Pipes - Amazon EventBridge

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.

Ziele von Amazon EventBridge Pipes

Sie können Daten in Ihrer Pipe an ein bestimmtes Ziel senden. Sie können die folgenden Ziele konfigurieren, wenn Sie ein Pipe-In einrichten EventBridge:

Zielparameter

Einige Zieldienste senden die Nutzlast des Ereignisses nicht an das Ziel, sondern behandeln das Ereignis als Auslöser für den Aufruf einer bestimmten API. EventBridge verwendet die PipeTargetParameters, um anzugeben, welche Informationen an diese API gesendet werden. Diese umfassen u. a. folgende:

  • API-Ziele (Die an ein API-Ziel gesendeten Daten müssen der Struktur der API entsprechen. Sie müssen das InputTemplate-Objekt verwenden, um sicherzustellen, dass die Daten korrekt strukturiert sind. Wenn Sie die ursprüngliche Ereignisnutzlast einbeziehen möchten, verweisen Sie darauf in der InputTemplate.)

  • API Gateway (Die an API Gateway gesendeten Daten müssen der Struktur der API entsprechen. Sie müssen das InputTemplate-Objekt verwenden, um sicherzustellen, dass die Daten korrekt strukturiert sind. Wenn Sie die ursprüngliche Ereignisnutzlast einbeziehen möchten, verweisen Sie darauf in der InputTemplate.)

  • PipeTargetRedshiftDataParameters (API-Cluster für Amazon-Redshift-Daten)

  • PipeTargetSageMakerPipelineParameters(Pipelines SageMaker zur Modellerstellung von Amazon Runtime)

  • PipeTargetBatchJobParameters (AWS Batch)

Anmerkung

EventBridge unterstützt nicht die gesamte JSON-Pfad-Syntax und wertet sie zur Laufzeit aus. Die unterstützte Syntax umfasst:

  • Punktnotation (zum Beispiel $.detail)

  • Bindestriche

  • Unterstriche

  • Alphanumerische Zeichen

  • Array-Indizes

  • Platzhalter (*)

  • Schrägstriche

Dynamische Pfadparameter

EventBridge Pipes-Zielparameter unterstützen die optionale dynamische JSON-Pfadsyntax. Sie können diese Syntax verwenden, um JSON-Pfade anstelle von statischen Werten anzugeben (z. B. $.detail.state). Der gesamte Wert muss ein JSON-Pfad sein, nicht nur ein Teil davon. Zum Beispiel kann RedshiftParameters.Sql $.detail.state sein, aber es kann nicht "SELECT * FROM $.detail.state" sein. Diese Pfade werden zur Laufzeit dynamisch durch Daten aus der Ereignisnutzlast selbst am angegebenen Pfad ersetzt. Dynamische Pfadparameter können nicht auf neue oder transformierte Werte verweisen, die sich aus der Eingabetransformation ergeben. Die unterstützte Syntax für JSON-Pfade mit dynamischen Parametern ist dieselbe wie bei der Transformation von Eingaben. Weitere Informationen finden Sie unter Amazon EventBridge Pipes-Eingabetransformation.

Die dynamische Syntax kann für alle Zeichenkettenfelder, die keine Enum-Felder sind, aller EventBridge Pipes-Anreicherungs- und Zielparameter verwendet werden, mit folgenden Ausnahmen:

Um beispielsweise das Kinesis-Ziel PartitionKey einer Pipe auf einen benutzerdefinierten Schlüssel aus Ihrem Quellereignis zu setzen, setzen Sie den Wert auf: KinesisTargetParameter.PartitionKey

  • "$.data.someKey" für eine Kinesis-Quelle

  • "$.body.someKey" für eine Amazon-SQS-Quelle

Wenn es sich bei der Event-Nutzlast beispielsweise um eine gültige JSON-Zeichenfolge handelt{"someKey":"someValue"}, wird der Wert aus dem JSON-Pfad EventBridge extrahiert und als Zielparameter verwendet. In diesem Beispiel EventBridge würde ich Kinesis auf "“ PartitionKey someValue setzen.

Berechtigungen

Um API-Aufrufe für die Ressourcen zu tätigen, die Ihnen gehören, benötigt EventBridge Pipes die entsprechende Genehmigung. EventBridge Pipes verwendet die IAM-Rolle, die Sie in der Pipe angeben, für Anreicherungs- und Zielanrufe mithilfe des IAM-Prinzipals. pipes.amazonaws.com

Aufrufen von Zielen

EventBridge hat die folgenden Möglichkeiten, ein Ziel aufzurufen:

  • Synchron (Aufruftyp auf gesetztREQUEST_RESPONSE) — EventBridge wartet auf eine Antwort vom Ziel, bevor der Vorgang fortgesetzt wird.

  • Asynchron (Aufruftyp auf gesetztFIRE_AND_FORGET) — wartet EventBridge nicht auf eine Antwort, bevor der Vorgang fortgesetzt wird.

Bei Pipes mit geordneten Quellen werden Ziele standardmäßig synchron EventBridge aufgerufen, da eine Antwort des Ziels erforderlich ist, bevor mit dem nächsten Ereignis fortgefahren wird.

Wenn eine Quelle keine Reihenfolge erzwingt, wie z. B. eine standardmäßige Amazon SQS-Warteschlange, EventBridge kann ein unterstütztes Ziel synchron oder asynchron aufgerufen werden.

Mit Lambda-Funktionen und Step-Functions-Zustandsmaschinen können Sie den Aufruftyp konfigurieren.

Anmerkung

Für Step-Functions-Zustandsmaschinen müssen Standard-Workflows asynchron aufgerufen werden.

Größenbeschränkungen für die Nutzlast

EventBridge Pipes unterstützt Nutzlasten bis zu 6 MB. Die effektive Nutzlastgrößenbeschränkung hängt jedoch davon ab, welcher Wert kleiner ist: das Pipes-Limit von 6 MB oder die maximale Nutzlastgröße des Zieldienstes. Beispiel:

  • Lambda-Funktionen unterstützen Nutzlasten bis zu 6 MB, sodass das effektive Limit für eine Pipe, die auf Lambda abzielt, bei 6 MB liegt.

  • EventBridge Event-Busse unterstützen Nutzlasten bis zu 1 MB, sodass die effektive Grenze für eine Pipe, die auf einen Event-Bus abzielt, bei 1 MB liegt.

  • Step Functions-Zustandsautomaten unterstützen Nutzlasten bis zu 256 KB, sodass die effektive Grenze für eine Pipe, die auf Step Functions abzielt, bei 256 KB liegt.

Stellen Sie bei der Konfiguration Ihrer Pipe sicher, dass Ihre Nutzlastgröße, einschließlich aller Transformationen, die durch Anreicherung oder Eingabetransformation angewendet werden, die maximale Nutzlastgröße des Ziels nicht überschreitet.

AWS Batch Besonderheiten der Job-Warteschlangen

Alle AWS Batch submitJob Parameter werden explizit mit konfiguriertBatchParameters, und wie bei allen Pipe-Parametern können diese mithilfe eines JSON-Pfads zu Ihrer Nutzlast für eingehende Ereignisse dynamisch sein.

CloudWatch Protokolliert die spezifischen Gruppenziele

Unabhängig davon, ob Sie einen Eingabe-Transformator nutzen oder nicht, wird die Ereignisnutzlast als Protokollnachricht verwendet. Sie können den Timestamp (oder den expliziten LogStreamName des Ziels) über CloudWatchLogsParameters in PipeTarget festlegen. Wie bei allen Pipe-Parametern können diese Parameter bei Verwendung eines JSON-Pfads zur eingehenden Ereignisnutzlast dynamisch sein.

Besonderheiten der Amazon ECS-Aufgabe

Alle Amazon-ECS-runTask-Parameter werden explizit über EcsParameters konfiguriert. Wie bei allen Pipe-Parametern können diese Parameter bei Verwendung eines JSON-Pfads zur eingehenden Ereignisnutzlast dynamisch sein.

Besonderheiten der Workflow-Ziele von Lambda-Funktionen und Step Functions

Lambda und Step Functions haben keine Stapel-API. Zum Verarbeiten von Ereignisstapeln aus einer Pipe-Quelle wird der Stapel in ein JSON-Array konvertiert und als Eingabe an das Lambda- oder Step-Functions-Ziel übergeben. Weitere Informationen finden Sie unter Batching und Parallelität von Amazon EventBridge Pipes.

Timestream für spezifische LiveAnalytics Tabellenziele

Zu den Überlegungen bei der Angabe einer Timestream LiveAnalytics For-Tabelle als Pipe-Ziel gehören:

  • Apache Kafka-Streams (einschließlich von Amazon MSK oder Drittanbietern) werden derzeit nicht als Pipe-Quelle unterstützt.

  • Wenn Sie einen Kinesis DynamoDB OR-Stream als Pipe-Quelle angegeben haben, müssen Sie die Anzahl der Wiederholungsversuche angeben.

    Weitere Informationen finden Sie unter Konfigurieren der Pipe-Einstellungen.

EventBridge Besonderheiten des Event-Bus-Ziels

Wenn Sie einen EventBridge Event-Bus als Pipe-Ziel konfigurieren, wird die Payload aus Ihrer Pipe automatisch in den detail Abschnitt des EventBridge Events platziert. Wird verwendet PipeTargetEventBridgeEventBusParameters, um die detail-type Event-Felder source und -Felder zu konfigurieren. Beide Felder unterstützen die dynamische JSON-Pfadsyntax, um Werte aus Ihrer Event-Nutzlast zu extrahieren. Stellen Sie beispielsweise Source auf $.body.source oder DetailType auf $.data.eventType ein. Sie können auch Eingangstransformatoren verwenden, um die Ereignisstruktur zu ändern, bevor sie im detail Feld platziert wird. Weitere Informationen finden Sie unter Amazon EventBridge Pipes-Eingabetransformation.