

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
<a name="target-appsync"></a>

AWS AppSync ermöglicht es Entwicklern, ihre Anwendungen und Dienste mit Daten und Ereignissen mit sicherem, serverlosem und leistungsstarkem GraphQL zu verbinden und. Pub/Sub 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 GraphQL APIs. EventBridge unterstützt AWS AppSync Private APIs derzeit nicht.

Sie können ein AWS AppSync GraphQL-API-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](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html#aws-iam-authorization).

Weitere Informationen zu AWS AppSync GraphQL APIs finden Sie unter [GraphQL und AWS AppSync Architektur](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-overview.html) im *AWS AppSync Developer* Guide.

**So geben Sie mithilfe der AWS AppSync Konsole ein Ziel für eine EventBridge Regel an**

1. [Erstellen oder bearbeiten Sie die Regel.](eb-create-rule-visual.md)

1. Geben Sie unter **Ziel** [das Ziel an](eb-create-rule-wizard.md#eb-create-rule-target), indem Sie **AWS -Service** und dann **AWS AppSync** auswählen.

1. Geben Sie die zu analysierende und auszuführende Mutationsoperation sowie den Auswahlsatz an.
   + Wählen Sie die AWS AppSync API und dann die aufzurufende GraphQL-API-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.

------
#### [ Key-value mapping ]

     So verwenden Sie die Schlüssel-Wert-Zuordnung zum Erstellen Ihres Auswahlsatzes:
     + Geben Sie Variablen für die API-Parameter an. Jede Variable kann entweder ein statischer Wert oder ein dynamischer JSON-Pfadausdruck für die Ereignisnutzlast sein.
     + Wählen Sie unter **Auswahlsatz** die Variablen aus, die Sie in die Antwort aufnehmen möchten.

------
#### [ Input transformer ]

     So verwenden Sie einen Eingabetransformator zum Erstellen Ihres Auswahlsatzes:
     + Geben Sie einen Eingabepfad an, der die zu verwendenden Variablen definiert.
     + Geben Sie eine Eingabevorlage an, um die Informationen zu definieren und zu formatieren, die an das Ziel übergeben werden sollen.

     Weitere Informationen finden Sie unter [Konfiguration eines Eingangstransformators beim Erstellen einer Regel in EventBridge](eb-transform-input-rule.md).

------

1. Wählen Sie für **Ausführungsrolle** aus, ob Sie eine neue Rolle erstellen oder eine vorhandene Rolle verwenden möchten.

1. Schließen Sie die Erstellung oder Bearbeitung der Regel ab.

## Beispiel: AWS AppSync Ziele für Amazon EventBridge
<a name="target-appsync-walkthrough"></a>

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 eine AWS AppSync GraphQL-API`Ec2EventAPI`, 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"])
}
```

Anwendungs-Clients, die diese API verwenden, können das Abonnement `subscribeToEvent` abonnieren, das durch die `pushEvent`-Mutation ausgelöst wird.

Sie können eine EventBridge Regel mit einem Ziel erstellen, das Ereignisse über die `pushEvent` Mutation an die AppSync API sendet. Wenn die Mutation aufgerufen wird, erhält jeder abonnierte Client das Ereignis.

Um diese API als Ziel für eine EventBridge Regel anzugeben, gehen Sie wie folgt vor:

1. Legen Sie als Amazon-Ressourcenname (ARN) des Regelziels den GraphQL-Endpunkt-ARN der `Ec2EventAPI`-API fest.

1. Geben 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.

1. 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, EventBridge um die Variablen zu definieren, die an die AWS AppSync Mutationsoperation übergeben werden. Die Vorlage muss als JSON ausgewertet werden. Ausgehend von unserem Eingabepfad können Sie die folgende Vorlage erstellen:

   ```
   {
     "id": <id>,
     "statusCode": <statusCode>,
     "instanceId": <EC2InstanceId>
   }
   ```