

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.

# Deaktivieren von VTL-Mapping-Vorlagen mit direkten Lambda-Resolvern (VTL)
<a name="direct-lambda-reference"></a>

**Anmerkung**  
Wir unterstützen jetzt hauptsächlich die APPSYNC\$1JS-Laufzeit und ihre Dokumentation. [Bitte erwägen Sie, die APPSYNC\$1JS-Laufzeit und ihre Anleitungen hier zu verwenden.](https://docs.aws.amazon.com/appsync/latest/devguide/configuring-resolvers-js.html)

Mit direkten Lambda-Resolvern können Sie die Verwendung von VTL-Mapping-Vorlagen bei der Verwendung von Datenquellen umgehen. AWS Lambda AWS AppSync kann eine Standardnutzlast für Ihre Lambda-Funktion sowie eine Standardübersetzung aus der Antwort einer Lambda-Funktion auf einen GraphQL-Typ bereitstellen. Sie können wählen, ob Sie eine Anforderungsvorlage, eine Antwortvorlage oder beides bereitstellen möchten, und AWS AppSync werden diese entsprechend behandeln. 

Weitere Informationen über die standardmäßige Anforderungsnutzlast und die damit AWS AppSync verbundene Antwortübersetzung finden Sie in der [Direct Lambda Resolver-Referenz](resolver-mapping-template-reference-lambda.md#direct-lambda-resolvers). Weitere Informationen zum Einrichten einer AWS Lambda Datenquelle und zum Einrichten einer IAM-Vertrauensrichtlinie finden Sie unter Eine Datenquelle [anhängen](attaching-a-data-source.md). 

## Direkte Lambda-Resolver konfigurieren
<a name="direct-lambda-reference-resolvers"></a>

In den folgenden Abschnitten erfahren Sie, wie Sie Lambda-Datenquellen anhängen und Lambda-Resolver zu Ihren Feldern hinzufügen.

### Fügen Sie eine Lambda-Datenquelle hinzu
<a name="direct-lambda-datasource"></a>

Bevor Sie direkte Lambda-Resolver aktivieren können, müssen Sie eine Lambda-Datenquelle hinzufügen.

------
#### [ Console ]

1. [Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Konsole. AppSync](https://console.aws.amazon.com/appsync/)

   1. Wählen Sie im **APIs Dashboard** Ihre GraphQL-API aus.

   1. Wählen Sie in der **Seitenleiste** **Datenquellen** aus.

1. Klicken Sie auf **Create data source**.

   1. Geben Sie **unter Datenquellenname** einen Namen für Ihre Datenquelle ein, z. B. **myFunction** 

   1. Wählen Sie als **Datenquellentyp** die Option **AWS Lambda Funktion** aus.

   1. Wählen Sie für **Region** die entsprechende Region aus.

   1. Wählen Sie für **Function ARN** die Lambda-Funktion aus der Dropdownliste aus. Sie können nach dem Funktionsnamen suchen oder den ARN der Funktion, die Sie verwenden möchten, manuell eingeben. 

   1. Erstellen Sie eine neue IAM-Rolle (empfohlen) oder wählen Sie eine vorhandene Rolle aus, die über die `lambda:invokeFunction` IAM-Berechtigung verfügt. Für bestehende Rollen ist eine Vertrauensrichtlinie erforderlich, wie im Abschnitt [Eine Datenquelle anhängen](attaching-a-data-source.md) beschrieben. 

      Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die über die erforderlichen Berechtigungen für die Ausführung von Vorgängen auf der Ressource verfügt:

------
#### [ JSON ]

****  

      ```
      { 
           "Version":"2012-10-17",		 	 	  
           "Statement": [ 
               { 
                   "Effect": "Allow", 
                   "Action": [ "lambda:invokeFunction" ], 
                   "Resource": [ 
                       "arn:aws:lambda:us-west-2:123456789012:function:myFunction", 
                       "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*" 
                   ] 
               } 
           ] 
       }
      ```

------

1. Wählen Sie die Schaltfläche **Erstellen** aus.

------
#### [ CLI ]

1. Erstellen Sie ein Datenquellenobjekt, indem Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/create-data-source.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/create-data-source.html)Befehl ausführen.

   Für diesen speziellen Befehl müssen Sie 4 Parameter eingeben:

   1. Die `api-id` Ihrer API.

   1. Die `name` Ihrer Datenquelle. Im Konsolenbeispiel ist dies der **Name der Datenquelle**.

   1. Der `type` Wert der Datenquelle. Im Konsolenbeispiel ist dies eine **AWS Lambda Funktion**.

   1. Das`lambda-config`, was die **Funktion ARN** im Konsolenbeispiel ist.
**Anmerkung**  
Es gibt andere Parameter wie diesen`Region`, die konfiguriert werden müssen, aber normalerweise werden sie standardmäßig auf Ihre CLI-Konfigurationswerte gesetzt.

   Ein Beispielbefehl könnte wie folgt aussehen:

   ```
   aws appsync create-data-source --api-id abcdefghijklmnopqrstuvwxyz --name myFunction --type AWS_LAMBDA --lambda-config lambdaFunctionArn=arn:aws:lambda:us-west-2:102847592837:function:appsync-lambda-example
   ```

   Eine Ausgabe wird in der CLI zurückgegeben. Hier ein Beispiel:

   ```
   {
       "dataSource": {
           "dataSourceArn": "arn:aws:appsync:us-west-2:102847592837:apis/abcdefghijklmnopqrstuvwxyz/datasources/myFunction",
           "type": "AWS_LAMBDA",
           "name": "myFunction",
           "lambdaConfig": {
               "lambdaFunctionArn": "arn:aws:lambda:us-west-2:102847592837:function:appsync-lambda-example"
           }
       }
   }
   ```

1. Führen Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/update-data-source.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/update-data-source.html)Befehl aus, um die Attribute einer Datenquelle zu ändern.

   Mit Ausnahme des `api-id` Parameters werden die im `create-data-source` Befehl verwendeten Parameter durch die neuen Werte aus dem `update-data-source` Befehl überschrieben.

------

### Direkte Lambda-Resolver aktivieren
<a name="direct-lambda-enable-templates"></a>

Nachdem Sie eine Lambda-Datenquelle erstellt und die entsprechende IAM-Rolle eingerichtet haben, um den Aufruf der Funktion AWS AppSync zu ermöglichen, können Sie sie mit einer Resolver- oder Pipeline-Funktion verknüpfen. 

------
#### [ Console ]

1. [Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Konsole. AppSync](https://console.aws.amazon.com/appsync/)

   1. Wählen Sie im **APIs Dashboard** Ihre GraphQL-API aus.

   1. **Wählen Sie in der **Seitenleiste** Schema aus.**

1. Wählen Sie im **Resolver-Fenster** ein Feld oder eine Operation aus und klicken Sie dann auf die Schaltfläche „**Anhängen**“.

1. Wählen Sie auf der Seite **Neuen Resolver erstellen** die Lambda-Funktion aus der Dropdownliste aus.

1. Um direkte Lambda-Resolver zu nutzen, stellen Sie sicher, dass Vorlagen für die Anfrage- und Antwortzuordnung im Abschnitt **Zuordnungsvorlagen konfigurieren** deaktiviert sind.

1. Wählen Sie die Schaltfläche „**Resolver speichern**“.

------
#### [ CLI ]
+ Erstellen Sie einen Resolver, indem Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/create-resolver.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appsync/create-resolver.html)Befehl ausführen.

  Für diesen speziellen Befehl müssen Sie 6 Parameter eingeben:

  1. Die `api-id` Ihrer API.

  1. Der `type-name` Typ in Ihrem Schema.

  1. Der `field-name` des Felds in Ihrem Schema.

  1. Der `data-source-name` oder der Name Ihrer Lambda-Funktion.

  1. Der`request-mapping-template`, welcher der Hauptteil der Anfrage ist. Im Konsolenbeispiel wurde dies deaktiviert:

     ```
     " "
     ```

  1. Das`response-mapping-template`, was der Hauptteil der Antwort ist. Im Konsolenbeispiel wurde dies ebenfalls deaktiviert:

     ```
     " "
     ```

  Ein Beispielbefehl könnte so aussehen:

  ```
  aws appsync create-resolver --api-id abcdefghijklmnopqrstuvwxyz --type-name Subscription --field-name onCreateTodo --data-source-name LambdaTest --request-mapping-template " " --response-mapping-template " "
  ```

  Eine Ausgabe wird in der CLI zurückgegeben. Hier ein Beispiel:

  ```
  {
      "resolver": {
          "resolverArn": "arn:aws:appsync:us-west-2:102847592837:apis/abcdefghijklmnopqrstuvwxyz/types/Subscription/resolvers/onCreateTodo",
          "typeName": "Subscription",
          "kind": "UNIT",
          "fieldName": "onCreateTodo",
          "dataSourceName": "LambdaTest"
      }
  }
  ```

------

Wenn Sie Ihre Mapping-Vorlagen deaktivieren, treten mehrere zusätzliche Verhaltensweisen auf in AWS AppSync:
+ Indem Sie eine Zuordnungsvorlage deaktivieren, signalisieren Sie, AWS AppSync dass Sie die in der [Direct Lambda-Resolver-Referenz](resolver-mapping-template-reference-lambda.md#direct-lambda-resolvers) angegebenen Standarddatenübersetzungen akzeptieren.
+ [Wenn Sie die Vorlage für die Anforderungszuweisung deaktivieren, erhält Ihre Lambda-Datenquelle eine Nutzlast, die aus dem gesamten Context-Objekt besteht.](resolver-context-reference.md)
+ Wenn Sie die Antwortzuordnungsvorlage deaktivieren, wird das Ergebnis Ihres Lambda-Aufrufs je nach Version der Anforderungszuordnungsvorlage übersetzt oder ob die Anforderungszuordnungsvorlage ebenfalls deaktiviert ist. 