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.
AWS AppSync Ziele für Regeln in Amazon EventBridge
AWS AppSync ermöglicht es Entwicklern, ihre Anwendungen und Dienste mit Daten und Ereignissen mit sicherem, serverlosem und leistungsstarkem GraphQL und Pub/Sub zu verbinden. APIs Mit AWS AppSync können Sie Datenaktualisierungen in Echtzeit für Ihre Anwendungen mit GraphQL-Mutationen veröffentlichen. EventBridge unterstützt das Aufrufen einer gültigen GraphQL-Mutationsoperation für übereinstimmende Ereignisse. Wenn Sie eine AWS AppSync API Mutation als Ziel angeben, AWS AppSync verarbeitet das Ereignis über einen Mutationsvorgang, der dann Abonnements auslösen kann, die mit der Mutation verknüpft sind.
Anmerkung
EventBridge unterstützt AWS AppSync öffentliches GraphQLAPIs. EventBridge unterstützt AWS AppSync Private APIs derzeit nicht.
Sie können ein AWS AppSync API GraphQL-Ziel für die folgenden Anwendungsfälle verwenden:
Um Ereignisdaten in Ihre konfigurierten Datenquellen zu übertragen, zu transformieren und zu speichern.
Um Benachrichtigungen in Echtzeit an verbundene Anwendungs-Clients zu senden.
Anmerkung
AWS AppSync Ziele unterstützen nur den Aufruf von AWS AppSync GraphQL APIs mit dem AWS_IAM
Autorisierungstyp.
Weitere Informationen zu AWS AppSync GraphQL APIs finden Sie unter GraphQL und AWS AppSync Architektur im AWS AppSync Developer Guide.
Um mithilfe der Konsole ein AWS AppSync Ziel für eine EventBridge Regel anzugeben
Geben Sie unter Ziel das Ziel an, indem Sie AWS -Service und dann AWS AppSync auswählen.
Geben Sie die zu analysierende und auszuführende Mutationsoperation sowie den Auswahlsatz an.
Wählen Sie die und AWS AppSync API dann die aufzurufende API GraphQL-Mutation aus.
Wählen Sie unter Parameter und Auswahlsatz konfigurieren aus, ob Sie einen Auswahlsatz mithilfe der Schlüssel-Wert-Zuordnung oder eines Eingabetransformators erstellen möchten.
Wählen Sie für Ausführungsrolle aus, ob Sie eine neue Rolle erstellen oder eine vorhandene Rolle verwenden möchten.
Schließen Sie die Erstellung oder Bearbeitung der Regel ab.
Beispiel: AWS AppSync Ziele für Amazon EventBridge
Im folgenden Beispiel erfahren Sie, wie Sie ein AWS AppSync Ziel für eine EventBridge Regel angeben, einschließlich der Definition einer Eingabetransformation zur Formatierung von Ereignissen für die Übermittlung.
Angenommen, Sie haben ein AWS AppSync GraphQL APIEc2EventAPI
,, definiert durch das folgende Schema:
type Event { id: ID! statusCode: String instanceId: String } type Mutation { pushEvent(id: ID!, statusCode: String!, instanceId: String): Event } type Query { listEvents: [Event] } type Subscription { subscribeToEvent(id: ID, statusCode: String, instanceId: String): Event @aws_subscribe(mutations: ["pushEvent"]) }
Anwendungsclients, die dies verwenden, API können das subscribeToEvent
Abonnement abonnieren, das durch die pushEvent
Mutation ausgelöst wird.
Sie können eine EventBridge Regel mit einem Ziel erstellen, das AppSync API über die pushEvent
Mutation Ereignisse an die sendet. Wenn die Mutation aufgerufen wird, erhält jeder abonnierte Client das Ereignis.
Um dies API als Ziel für eine EventBridge Regel anzugeben, gehen Sie wie folgt vor:
Setzen Sie den Amazon-Ressourcennamen (ARN) des Regelziels auf den GraphQL-Endpunkt ARN von.
Ec2EventAPI
APIGeben Sie die Mutations-GraphQL-Operation als Zielparameter an:
mutation CreatePushEvent($id: ID!, $statusCode: String, $instanceId: String) { pushEvent(id: $input, statusCode: $statusCode, instanceId: $instanceId) { id statusCode instanceId } }
Ihr Mutationsauswahlsatz muss alle Felder enthalten, die Sie in Ihrem GraphQL-Abonnement abonnieren möchten.
Konfigurieren Sie einen Eingabetransformator, um anzugeben, wie Daten aus übereinstimmenden Ereignissen in Ihrer Operation verwendet werden.
Angenommen, Sie haben das Beispielereignis
“EC2 Instance Launch Successful”
ausgewählt:{ "version": "0", "id": "3e3c153a-8339-4e30-8c35-687ebef853fe", "detail-type": "EC2 Instance Launch Successful", "source": "aws.autoscaling", "account": "123456789012", "time": "2015-11-11T21:31:47Z", "region": "us-east-1", "resources": ["arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:eb56d16b-bbf0-401d-b893-d5978ed4a025:autoScalingGroupName/sampleLuanchSucASG", "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f"], "detail": { "StatusCode": "InProgress", "AutoScalingGroupName": "sampleLuanchSucASG", "ActivityId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "Details": { "Availability Zone": "us-east-1b", "Subnet ID": "subnet-95bfcebe" }, "RequestId": "9cabb81f-42de-417d-8aa7-ce16bf026590", "EndTime": "2015-11-11T21:31:47.208Z", "EC2InstanceId": "i-b188560f", "StartTime": "2015-11-11T21:31:13.671Z", "Cause": "At 2015-11-11T21:31:10Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2015-11-11T21:31:11Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1." } }
Sie können die folgenden Variablen für die Verwendung in Ihrer Vorlage definieren, indem Sie den Eingabepfad des Zieleingabetransformators verwenden:
{ "id": "$.id", "statusCode": "$.detail.StatusCode", "EC2InstanceId": "$.detail.EC2InstanceId" }
Verfassen Sie die Vorlage für den Eingangstransformator, um die Variablen zu definieren, die EventBridge an die AWS AppSync Mutationsoperation übergeben werden. Die Vorlage muss als ausgewertet werdenJSON. Ausgehend von unserem Eingabepfad können Sie die folgende Vorlage erstellen:
{ "id": <id>, "statusCode": <statusCode>, "instanceId": <EC2InstanceId> }