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 Event-Busse bei 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 für 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 zusammen mit der Anfrage. Weitere Informationen finden Sie unter API-Ziele.
Ereignisbusse
Sie können andere Ereignisbusse als Ziele für Regeln angeben. Dies schließt Eventbusse mit demselben oder unterschiedlichen AWS Konten ein.
AWS Dienstleistungen
Sie können Ereignisse EventBridge an eine Reihe von AWS Serviceressourcen senden lassen. 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 KI-Pipeline
-
Amazon-SNS-Thema
-
Step-Functions-Zustandsautomat (ASYNC)
-
Systems Manager Automation
-
Systems Manager OpsItem
-
Aufrufen von Systems Manager Run Command
Zielparameter
Einige Ziele senden die Informationen in der Event-Payload nicht an das Ziel, sondern behandeln das Ereignis als Auslöser für den Aufruf einer bestimmten API. EventBridge verwendet die 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 Ereignisnutzlast einbeziehen möchten, verweisen Sie darauf in derInputTransformer. -
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 Ereignisnutzlast einbeziehen möchten, verweisen Sie darauf in derInputTransformer. -
Amazon EC2 Image Builder
-
Amazon Redshift Daten-API-Cluster
Verwenden Sie
RedshiftDataParameters. -
Pipelines zur Erstellung von Amazon SageMaker Runtime-Modellen
Verwenden Sie
SageMakerPipelineParameters. -
Amazon SQS Fair- und FIFO-Warteschlangen
Dient
SqsParameterszur Angabe der Nachrichtengruppe, 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
Mit dynamischen Pfadparametern können Sie die JSON-Pfadsyntax anstelle von statischen Werten verwenden, um zur Laufzeit auf Ereignisdaten zu verweisen.
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 Ereignisnutzlast im 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 Amazon EventBridge Input Transformation.
Unterstützte Parameter
Sie können die dynamische Syntax für alle Zeichenkettenfelder dieser Parameter verwenden, die keine Enumerationen 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 mithilfe der EventBridge Konsole oder durch Einstellen des RoleARN Parameters in eine IAM-Ausführungsrolle an PutTargets.
Die folgende Richtlinie definiert beispielsweise die Erlaubnis, Nachrichten an eine Amazon SQS 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 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 über BatchParameterskonfiguriert werden.
Andere können in der Ereignisnutzlast angegeben werden. Wenn die Nutzdaten des Ereignisses (weitergeleitet oder über InputTransformers) die folgenden Schlüssel enthalten, 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 ein InputTransformermit einem CloudWatch Logs-Ziel nicht verwenden, wird die Ereignisnutzlast 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 an einen Log-Stream gesendeten Einträge stapelweise zusammen und EventBridge kann daher je nach Traffic ein oder mehrere Ereignisse in einen Log-Stream übertragen.
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 StartBuildRequestStruktur entspricht, bevor es an ein CodeBuild Ziel übergeben wird, werden die Parameter standardmäßig 1:1 zugeordnet und an codeBuild.StartBuild übergeben.
Um codeBuild.StartBuildBatch stattdessen die Parameter zu übergeben, transformieren Sie das Quellereignis so, dass es der StartBuildBatchRequestStruktur 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 InputTransformersdas Eingabeereignis so gestalten, dass es der Amazon RunTask TaskOverrideECS-Struktur entspricht, werden die Parameter 1 zu 1 zugeordnet und an übergeben. 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ösedetails des StartIncidentRequest Anrufs beim Incident Manager übernommen.
Systems Manager Run Command als Ziel
Wenn Sie Systems Manager Run Command als Ziel angeben, EventBridge ruft die SendCommandAPI in Ihrem Namen auf. Konfigurieren Sie das Ziel mithilfe von 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 spezifizieren. Verwenden SieKeyset toInstanceIdsmit einer Instanzliste oderKeyset totag:with Tag-Werten IDs, um Instances nach Tag anzusprechen. Sie können zwischen 1 und 5 Ausführungsbefehlsziele angeben.tag-name
Verwenden Sie das Input Feld auf dem TargetObjekt, um anzugeben, welches SSM-Dokument ausgeführt werden soll, und um 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 SSM-Dokuments, das ausgeführt werden soll. -
DocumentVersion— (Optional) Die Version des Dokuments. Wenn nicht angegeben, wird die Standardversion verwendet. -
Parameters— (Optional) Eine Zuordnung von Parameternamen zu Werte-Arrays, 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. Dies unterscheidet sich von der InputTransformer, die die Nutzlast des Ereignisses transformiert. Wenn Sie Systems Manager Run Command als Ziel verwenden, legen Sie die Dokumentparameter in fest Input und geben Sie die Zielinstanzen in anRunCommandParameters.
Amazon SQS SQS-Warteschlangen als Ziele
EventBridge unterstützt nicht die Verwendung von Amazon SQS SQS-Warteschlangen, die mit einem verschlüsselt sind. AWS-eigener Schlüssel Dazu gehören sowohl Ziele als auch Amazon SQS SQS-Warteschlangen, die als Warteschlangen mit uneingeschränkten Buchstaben für Ziele angegeben sind. Weitere Informationen dazu finden Sie unter AWS-eigene Schlüssel Eigene Schlüssel AWS im Entwicklerhandbuch.AWS Key Management Service