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 für den Event-Bus in Amazon EventBridge
Ein Ziel ist eine Ressource oder ein Endpunkt, EventBridge an den ein Ereignis gesendet wird, wenn das Ereignis dem für eine Regel definierten Ereignismuster entspricht. Die Regel verarbeitet die Daten des Ereignisses und sendet die relevanten Informationen an das Ziel. Um Ereignisdaten an ein Ziel zu senden, EventBridge ist eine Zugriffsberechtigung auf die Zielressource erforderlich. Sie können für jede Regel bis zu fünf Ziele definieren.
Wenn Sie einer Regel Ziele hinzufügen und diese kurz darauf ausgeführt wird, werden neue oder aktualisierte Ziele möglicherweise nicht sofort aufgerufen. Warten Sie einen Augenblick, bis die Änderungen wirksam werden.
Event-Bus-Ziele sind in der EventBridge Konsole verfügbar
Sie können die folgenden Zieltypen für Regeln in der EventBridge Konsole konfigurieren:
API-Ziele
API-Ziele sind HTTPS-Endpunkte, die Sie als Ziel einer Event-Bus-Regel aufrufen können. Wenn Sie ein API-Ziel als Regelziel angeben, EventBridge ruft es den HTTPS-Endpunkt für jedes Ereignis auf, das dem in der Regel angegebenen Ereignismuster entspricht, und übermittelt dann die Ereignisinformationen mit der Anforderung. Weitere Informationen finden Sie unter API-Ziele.
Ereignisbusse
Sie können andere Eventbusse als Ziele für Regeln angeben. Dies schließt Event-Busse in denselben oder verschiedenen AWS Konten ein.
AWS Dienstleistungen
Sie können Ereignisse EventBridge an eine Reihe von AWS Serviceressourcen gesendet haben. Dazu zählen:
-
CodePipeline
-
CreateSnapshot-API-Aufruf von Amazon EBS -
EC2 Image Builder
-
RebootInstances-API-Aufruf von EC2 -
StopInstances-API-Aufruf von EC2 -
TerminateInstances-API-Aufruf von EC2 -
Firehose-Bereitstellungsdat
-
Glue-Workflow
-
Vorlage für die Inspector-Beurteilung
-
Kinesis-Stream
-
Lambda-Funktion (ASYNC)
-
API-Abfragen für Amazon-Redshift-Serverless-Arbeitsgruppendaten
-
SageMaker AI-Pipeline
-
Amazon-SNS-Thema
-
Step-Functions-Zustandsautomat (ASYNC)
-
Systems Manager Automation
-
Systemmanager OpsItem
-
Aufrufen von Systems Manager Run Command
Zielparameter
Einige Ziele senden die Informationen in der Ereignisnutzlast nicht an das Ziel, sondern behandeln das Ereignis stattdessen als Auslöser für den Aufruf einer bestimmten API. EventBridge verwendet die https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_Target.html Target-Parameter, um zu bestimmen, was mit diesem Ziel passiert. Diese umfassen u. a. folgende:
-
API-Ziele
Die an ein API-Ziel gesendeten Daten müssen der Struktur der API entsprechen. Verwenden Sie das
InputTransformerObjekt, um sicherzustellen, dass die Daten korrekt strukturiert sind. Wenn Sie die ursprüngliche Event-Nutzlast einbeziehen möchten, verweisen Sie in derInputTransformerdarauf. -
API Gateway
Die an API Gateway gesendeten Daten müssen der Struktur der API entsprechen. Verwenden Sie das
InputTransformerObjekt, um sicherzustellen, dass die Daten korrekt strukturiert sind. Wenn Sie die ursprüngliche Event-Nutzlast einbeziehen möchten, verweisen Sie in derInputTransformerdarauf. -
Amazon EC2 Image Builder
-
Amazon Redshift Data API-Cluster
Verwenden Sie
RedshiftDataParameters. -
Pipelines SageMaker zur Modellerstellung in Amazon Runtime
Verwenden Sie
SageMakerPipelineParameters. -
Amazon SQS Fair und FIFO-Warteschlangen
Wird verwendet
SqsParameters, um die Nachrichtengruppe anzugeben, die als Ziel verwendet werden soll. -
Aufrufen von Systems Manager Run Command
Wird verwendet
RunCommandParameters, um das SSM-Dokument und die Zielinstanzen anzugeben. Weitere Informationen finden Sie unter Systems Manager Run Command as a target.
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
Mithilfe dynamischer Pfadparameter können Sie die JSON-Pfadsyntax verwenden, um zur Laufzeit auf Ereignisdaten zu verweisen, anstatt auf statische Werte.
Sie können die dynamische JSON-Pfadsyntax mit Zielparametern verwenden, um JSON-Pfade anstelle von statischen Werten anzugeben (z. B.$.detail.state).
Voraussetzungen
Der gesamte Wert muss ein JSON-Pfad sein, nicht nur ein Teil davon. Beispiel:
-
✓ Richtig:
RedshiftParameters.Sqlkann sein$.detail.state -
✗ Falsch:
RedshiftParameters.Sqlkann nicht sein"SELECT * FROM $.detail.state"
EventBridge ersetzt diese Pfade zur Laufzeit durch Daten aus der Event-Payload am angegebenen Pfad.
Einschränkungen
Dynamische Pfadparameter können nicht auf neue oder transformierte Werte aus der Eingabetransformation verweisen. Die JSON-Pfadsyntax entspricht der Syntax der Eingabetransformation. Weitere Informationen finden Sie unter EventBridge Amazon-Eingabetransformation.
Unterstützte Parameter
Sie können die dynamische Syntax für alle Zeichenfolgenfelder dieser Parameter verwenden, die keine Enum-Felder sind:
-
HttpParameters(außerHeaderParameters-Schlüssel)
Berechtigungen
Um API-Aufrufe für die Ressourcen zu tätigen, die Ihnen gehören, sind entsprechende EventBridge Berechtigungen erforderlich. Geben Sie eine IAM-Ausführungsrolle mithilfe der EventBridge Konsole an, oder setzen Sie den RoleARN Parameter in PutTargets.
Die folgende Richtlinie definiert beispielsweise die Erlaubnis, Nachrichten an eine Amazon SQS-Warteschlange zu senden:
Und die folgende Vertrauensrichtlinie ermöglicht es EventBridge , diese Rolle zu übernehmen:
Sie können einen API-Gateway-Endpunkt mit konfigurierter IAM-Autorisierung aufrufen, aber die Rolle ist optional, wenn Sie die Autorisierung nicht konfiguriert haben. Weitere Informationen finden Sie unter Amazon EventBridge und AWS Identity and Access Management.
Wenn sich ein anderes Konto in derselben Region befindet und Ihnen die Berechtigung erteilt hat, dann können Sie Ereignisse an dieses Konto senden.
Weitere Informationen finden Sie unter Senden und Empfangen von Ereignissen zwischen AWS Konten bei Amazon EventBridge.
Wenn Ihr Ziel, z. B. eine Amazon SQS-Warteschlange, die AWS Key Management Service (AWS KMS) -Verschlüsselung verwendet, 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": "*" }
AWS Batch Job-Warteschlangen als Ziele
Bestimmte Parameter AWS Batch submitJob können auch konfiguriert werden über BatchParameters.
Andere können in der Ereignisnutzlast angegeben werden. Wenn die Nutzlast des Ereignisses (durch oder über übergeben InputTransformers) die folgenden Schlüssel enthält, werden sie den submitJob Anforderungsparametern zugeordnet:
ContainerOverrides: containerOverridesAnmerkung
Dazu gehören nur Befehl, Umgebung, Speicher und vcpus
DependsOn: dependsOnAnmerkung
Dazu gehört nur jobId
Parameters: parameters
CloudWatch Protokolliert Gruppen als Ziele
Wenn Sie kein Ziel InputTransformer mit einem CloudWatch Logs-Ziel verwenden, wird die Nutzlast des Ereignisses als Protokollnachricht und die Quelle des Ereignisses als Zeitstempel verwendet. Wenn Sie eine verwenden InputTransformer, muss die Vorlage wie folgt aussehen:
{"timestamp":<timestamp>,"message":<message>}
EventBridge fasst die Einträge zusammen, die an einen Log-Stream gesendet werden; EventBridge kann daher je nach Datenverkehr ein einzelnes oder mehrere Ereignisse an einen Log-Stream senden.
CodeBuild Projekte als Ziele
EventBridge unterstützt sowohl Standard- als auch Batch-Builds als Ziele.
Wenn Sie einen Eingangstransformator verwenden, um das Quellereignis so zu formen, dass es der StartBuildRequest Struktur entspricht, bevor es an ein CodeBuild Ziel übermittelt wird, werden die Parameter 1 zu 1 zugeordnet und standardmäßig an codeBuild.StartBuild übergeben.
Um die Parameter codeBuild.StartBuildBatch stattdessen an das Ausgangsereignis zu übergeben, transformieren Sie das Quellereignis so, dass es der StartBuildBatchRequest Struktur entspricht, und fügen Sie das folgende key/value Paar zur Wurzel des transformierten Ereignisses hinzu:
"buildType": "BATCH"
Amazon ECS-Aufgaben als Ziele
Wenn Sie InputTransformers es verwenden, um das Eingabeereignis einem Target zuzuordnen, das der Amazon RunTask TaskOverride ECS-Struktur entspricht, werden die Parameter 1:1 zugeordnet und an weitergeleitet. ecs.RunTask
Reaktionspläne des Incident Managers als Ziele
Wenn das entsprechende Ereignis von CloudWatch Alarms stammt, werden die Details zur Änderung des Alarmstatus in die Auslöserdetails des StartIncidentRequest Anrufs an den Incident Manager übernommen.
Systems Manager: Befehl als Ziel ausführen
Wenn Sie Systems Manager Run Command als Ziel angeben, EventBridge ruft die SendCommand API in Ihrem Namen auf. Konfigurieren Sie das Ziel mithilfe RunCommandParameters, das das auszuführende SSM-Dokument und die Zielinstanzen oder -Tags angibt.
RunCommandParametersenthält die folgenden Felder:
-
RunCommandTargets— (Erforderlich) Eine Liste von Schlüssel-Wert-Paaren, die die Zielinstanzen angeben. Verwenden SieKeyset toInstanceIdsmit einer Liste von Instanz-IDs oderKeyset totag:with Tag-Werten, um Instanzen nach Tag anzuvisieren. Sie können zwischen 1 und 5 Ausführungsbefehlsziele angeben.tag-name
Verwenden Sie das Input Feld für das Target Objekt, um anzugeben, welches SSM-Dokument ausgeführt werden soll, und Parameter an dieses Dokument zu übergeben. Der Input Wert muss ein JSON-Objekt mit der folgenden Struktur sein:
{
"DocumentName": "document-name",
"DocumentVersion": "version",
"Parameters": {
"parameter-key": ["parameter-value"]
}
}
Wobei Folgendes gilt:
-
DocumentName— Der Name oder ARN des auszuführenden SSM-Dokuments. -
DocumentVersion— (Optional) Die Version des Dokuments. Wenn es weggelassen wird, wird die Standardversion verwendet. -
Parameters— (Optional) Eine Zuordnung von Parameternamen zu Wertarrays, die den im SSM-Dokument definierten Parametern entsprechen.
Mit dem folgenden AWS CLI Befehl wird beispielsweise eine Regel erstellt, die das AWS-RunShellScript Dokument auf einer bestimmten Instanz ausführt, wenn ein EventBridge Ereignis zutrifft:
aws events put-targets --rule "my-rule" --targets '[{ "Id": "ssm-target-1", "Arn": "arn:aws:ssm:region:account-id:document/AWS-RunShellScript", "RoleArn": "arn:aws:iam::account-id:role/EventBridgeSSMRole", "Input": "{\\"Parameters\\":{\\"commands\\":[\\"echo Hello from EventBridge\\"]}}", "RunCommandParameters": { "RunCommandTargets": [{ "Key": "InstanceIds", "Values": ["i-0123456789abcdef0"] }] } }]'
Anmerkung
Das Input Feld auf dem Target Objekt wird verwendet, um den Dokumentnamen und die Parameter an Systems Manager Run Command zu übergeben. Es unterscheidet sich von dem InputTransformer, das die Nutzlast des Ereignisses transformiert. Wenn Sie Systems Manager Run Command als Ziel verwenden, legen Sie die Dokumentparameter fest Input und geben Sie die Zielinstanzen in an. RunCommandParameters
Amazon SQS-Warteschlangen als Ziele
EventBridge unterstützt nicht die Verwendung von Amazon SQS-Warteschlangen, die mit einem verschlüsselt sind. AWS-eigener Schlüssel Dazu gehören Ziele sowie Amazon SQS-Warteschlangen, die als Warteschlangen mit unlesbaren Buchstaben für Ziele definiert sind. Weitere Informationen dazu finden Sie unter AWS-eigene Schlüssel Eigene Schlüssel AWS im Entwicklerhandbuch. AWS Key Management Service