

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.

# Eine AWS Lambda Funktion für Ihren Amazon Lex V2-Bot erstellen
<a name="lambda-attach"></a>

Um eine Lambda-Funktion für Ihren Amazon Lex V2-Bot zu erstellen, greifen Sie AWS Lambda von Ihrer AWS-Managementkonsole aus zu und erstellen Sie eine neue Funktion. Weitere Informationen zu finden Sie im [AWS LambdaEntwicklerhandbuch](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html). AWS Lambda

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

1. Wählen Sie in der linken Seitenleiste **Funktionen** aus.

1. Wählen Sie **Funktion erstellen** aus.

1. Sie können **Autor von Grund auf neu** auswählen, um mit minimalem Code zu beginnen, **einen Blueprint verwenden**, um Beispielcode für allgemeine Anwendungsfälle aus einer Liste auszuwählen, oder **Container-Image, um ein Container-Image** auszuwählen, das für Ihre Funktion bereitgestellt werden soll. Wenn Sie **Author von Grund auf neu** auswählen, fahren Sie mit den folgenden Schritten fort:

   1. Geben Sie Ihrer Funktion einen aussagekräftigen **Funktionsnamen**, um zu beschreiben, was sie tut.

   1. Wählen Sie im Drop-down-Menü unter **Runtime** eine Sprache aus, in der Sie Ihre Funktion schreiben möchten.

   1. Wählen Sie eine **Befehlssatzarchitektur** für Ihre Funktion aus.

   1. Standardmäßig erstellt Lambda eine Rolle mit Basisberechtigungen. Um eine bestehende Rolle zu verwenden oder eine Rolle mithilfe von AWS-Richtlinienvorlagen zu erstellen, erweitern Sie das Menü **Standardausführungsrolle ändern** und wählen Sie eine Option aus.

   1. Erweitern Sie das Menü **Erweiterte Einstellungen**, um weitere Optionen zu konfigurieren.

1. Wählen Sie **Funktion erstellen** aus.

Die folgende Abbildung zeigt, was Sie sehen, wenn Sie eine neue Funktion von Grund auf neu erstellen:

![\[Eine neue Lambda-Funktion.\]](http://docs.aws.amazon.com/de_de/lexv2/latest/dg/images/lambda/lambda-new-function.png)


Die Lambda-Handler-Funktion unterscheidet sich je nach verwendeter Sprache. Sie benötigt mindestens ein `event` JSON-Objekt als Argument. Sie können die Felder in der Datei sehen`event`, die Amazon Lex V2 zur Verfügung stellt, unter[AWS LambdaEingabeereignisformat für Lex V2](lambda-input-format.md). Ändern Sie die Handler-Funktion so, dass letztendlich ein `response` JSON-Objekt zurückgegeben wird, das dem unter beschriebenen Format entspricht[AWS LambdaAntwortformat für Lex V2](lambda-response-format.md).
+ Wenn Sie mit dem Schreiben Ihrer Funktion fertig sind, wählen Sie **Deploy** aus, damit die Funktion verwendet werden kann.

Denken Sie daran, dass Sie jeden Bot-Alias mit höchstens einer Lambda-Funktion verknüpfen können. Sie können jedoch innerhalb des Lambda-Codes so viele Funktionen definieren, wie Sie für Ihren Bot benötigen, und diese Funktionen in der Lambda-Handler-Funktion aufrufen. Während beispielsweise alle Intents in demselben Bot-Alias dieselbe Lambda-Funktion aufrufen müssen, können Sie eine Router-Funktion erstellen, die für jede Absicht eine separate Funktion aktiviert. Im Folgenden finden Sie ein Beispiel für eine Router-Funktion, die Sie für Ihre Anwendung verwenden oder ändern können:

```
import os
import json
import boto3

# reuse client connection as global
client = boto3.client('lambda')

def router(event):
    intent_name = event['sessionState']['intent']['name']
    fn_name = os.environ.get(intent_name)
    print(f"Intent: {intent_name} -> Lambda: {fn_name}")
    if (fn_name):
        # invoke lambda and return result
        invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event))
        print(invoke_response)
        payload = json.load(invoke_response['Payload'])
        return payload
    raise Exception('No environment variable for intent: ' + intent_name)

def lambda_handler(event, context):
    print(event)
    response = router(event)
    return response
```

**Wann sollten AWS Lambda Funktionen in Amazon Lex V2-Bot-Konversationen verwendet werden**

Sie können Lambda-Funktionen an den folgenden Stellen in einer Konversation mit einem Benutzer verwenden:
+ In der ersten Antwort, nachdem die Absicht erkannt wurde. Zum Beispiel, nachdem der Benutzer gesagt hat, dass er eine Pizza bestellen möchte.
+ Nachdem dem Benutzer ein Slot-Wert abgefragt wurde. Zum Beispiel, nachdem der Benutzer dem Bot die Größe der Pizza mitgeteilt hat, die er bestellen möchte.
+ Zwischen jedem erneuten Versuch, einen Slot auszulösen. Zum Beispiel, wenn der Kunde keine anerkannte Pizzagröße verwendet.
+ Bei der Bestätigung einer Absicht. Zum Beispiel bei der Bestätigung einer Pizzabestellung.
+ Um eine Absicht zu erfüllen. Zum Beispiel, um eine Pizza zu bestellen.
+ Nach Erfüllung der Absicht und bevor Ihr Bot die Konversation beendet. Zum Beispiel, um zu einer Absicht zu wechseln, ein Getränk zu bestellen.

**Topics**
+ [Hängen Sie über die Konsole eine AWS Lambda Funktion an einen Amazon Lex V2-Bot an](lambda-attach-console.md)
+ [Hängen Sie mithilfe von API-Operationen eine AWS Lambda Funktion an einen Amazon Lex V2-Bot an](lambda-attach-api.md)

# Hängen Sie über die Konsole eine AWS Lambda Funktion an einen Amazon Lex V2-Bot an
<a name="lambda-attach-console"></a>

Sie müssen zuerst eine Lambda-Funktion an Ihren Amazon Lex V2-Bot-Alias anhängen, bevor Sie ihn aufrufen können. Sie können jedem Bot-Alias nur eine Lambda-Funktion zuordnen. Führen Sie diese Schritte aus, um die Lambda-Funktion mithilfe der AWS-Konsole anzuhängen. 

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

1. Wählen Sie im linken Seitenbereich **Bots** aus und wählen Sie aus der Liste der Bots den Namen des Bots aus, an den Sie eine Lambda-Funktion anhängen möchten.

1. Wählen Sie auf der linken Seite im Menü „**Bereitstellung**“ die Option **Aliase** aus.

1. Wählen Sie aus der Liste der Aliase den Namen des Alias aus, an den Sie eine Lambda-Funktion anhängen möchten.

1. Wählen Sie im Bereich **Sprachen** die Sprache aus, die eine Lambda-Funktion verwenden soll. Wählen Sie **Sprachen im Alias verwalten** aus, um eine Sprache hinzuzufügen, falls sie nicht im Panel vorhanden ist.

1. Wählen Sie im Dropdownmenü **Quelle** den Namen der Lambda-Funktion aus, die Sie anhängen möchten.

1. Wählen Sie im Dropdownmenü **Version oder Alias der Lambda-Funktion** die Version oder den Alias der Lambda-Funktion aus, die Sie verwenden möchten. Wählen Sie dann **Save (Speichern)** aus. Dieselbe Lambda-Funktion wird für alle Zwecke in einer vom Bot unterstützten Sprache verwendet.

**Festlegung einer Amazon Lex V2-Absicht zum Aufrufen einer Lambda-Funktion über die Konsole**

1. Nachdem Sie einen Bot ausgewählt haben, wählen Sie im Menü auf der linken Seite unter der Sprache des Bots, für den Sie die Lambda-Funktion aufrufen möchten, die Option **Absichten** aus.

1. Wählen Sie die Absicht aus, in der Sie die Lambda-Funktion aufrufen möchten, um den Absichtseditor zu öffnen.

1. Es gibt zwei Möglichkeiten, den Lambda-Code-Hook einzustellen:

   1. Um die Lambda-Funktion nach jedem Schritt der Konversation aufzurufen, scrollen Sie zum Abschnitt **Code-Hooks** unten im Intent-Editor und aktivieren Sie das Kontrollkästchen **Lambda-Funktion für Initialisierung und Validierung verwenden**, wie in der folgenden Abbildung dargestellt:  
![\[Der Code-Hooks-Bereich des Amazon Lex V2 Intent-Editors.\]](http://docs.aws.amazon.com/de_de/lexv2/latest/dg/images/lambda/lambda-code-hooks-all.png)

   1. Verwenden Sie alternativ den **Dialogcode-Hook-Abschnitt** in den Konversationsphasen, in denen Sie die Lambda-Funktion aufrufen möchten. Der Abschnitt mit dem **Dialog-Code-Hook** sieht wie folgt aus:  
![\[Der Code-Hooks-Bereich des Amazon Lex V2 Intent-Editors.\]](http://docs.aws.amazon.com/de_de/lexv2/latest/dg/images/lambda/lambda-code-hook-step.png)

      Es gibt zwei Möglichkeiten, zu steuern, wie Amazon Lex V2 den Code-Hook für eine Antwort aufruft:
      + Klicken Sie auf die Schaltfläche **Aktiv**, um sie als *aktiv oder *inaktiv** zu markieren. Wenn ein Code-Hook *aktiv* ist, ruft Amazon Lex V2 den Code-Hook auf. Wenn der Code-Hook *inaktiv* ist, führt Amazon Lex V2 den Code-Hook nicht aus.
      + *Erweitern Sie den Abschnitt **Lambda-Dialogcode-Hook** und aktivieren Sie das Kontrollkästchen **Lambda-Funktion aufrufen**, um ihn als *aktiviert* oder deaktiviert zu markieren.* Sie können einen Code-Hook nur aktivieren oder deaktivieren, wenn er als aktiv markiert ist. Wenn er als *aktiviert* markiert ist, wird der Code-Hook normal ausgeführt. Wenn er *deaktiviert* ist, wird der Code-Hook nicht aufgerufen und Amazon Lex V2 verhält sich so, als ob der Code-Hook erfolgreich zurückgegeben wurde. Um Antworten zu konfigurieren, nachdem der Dialog-Code-Hook erfolgreich war, fehlschlägt oder das Timeout abgelaufen ist, wählen Sie **Erweiterte** Optionen

      Der Lambda-Code-Hook kann in den folgenden Konversationsphasen aufgerufen werden:
      + **Um die Funktion als **erste Antwort** aufzurufen, scrollen Sie zum Abschnitt **Erste Antwort**, erweitern Sie den Pfeil neben **Antwort, um die Anfrage des Benutzers zu bestätigen**, und wählen Sie Erweiterte Optionen aus.** Suchen Sie unten im sich öffnenden Menü nach dem Abschnitt „**Dialog-Code-Hook**“.
      + **Um die Funktion nach der **Slot-Abfrage** aufzurufen, scrollen Sie zum Abschnitt **Steckplätze**, erweitern Sie den Pfeil neben der entsprechenden **Eingabeaufforderung für den Slot** und wählen Sie Erweiterte Optionen.** **Suchen Sie den Abschnitt mit dem **Dialog-Code-Hook** am unteren Rand des Menüs, das sich öffnet, direkt über den Standardwerten.**

        Sie können die Funktion auch nach jedem Aufruf aufrufen. Erweitern Sie dazu im Abschnitt **Slot-Eingabeaufforderungen** die Option **Bot ruft Informationen** ab, wählen Sie **Weitere Aufforderungsoptionen** aus und aktivieren Sie das Kontrollkästchen neben **Lambda-Code-Hook nach jedem Aufruf aufrufen**.
      + **Um die Funktion zur Bestätigung der **Absicht aufzurufen, scrollen Sie zum Abschnitt **Bestätigung****, erweitern Sie den Pfeil neben **Aufforderungen zur** Bestätigung der Absicht und wählen Sie Erweiterte Optionen aus.** Suchen Sie unten im sich öffnenden Menü nach dem Abschnitt mit dem **Dialog-Code-Hook**.
      + Scrollen Sie zum Abschnitt **Fulfillment, um die Funktion für die **Erfüllung** von Absichten** aufzurufen. *Klicken Sie auf die Schaltfläche **Aktiv**, um den Code-Hook auf aktiv zu setzen.* Erweitern Sie den Pfeil neben **Bei erfolgreichem Versand** und wählen Sie **Erweiterte Optionen** aus. *Aktivieren Sie im Abschnitt **Fulfillment Lambda Code Hook das Kontrollkästchen neben Eine Lambda-Funktion für die Auftragsabwicklung verwenden****, um den Code-Hook** auf aktiviert zu setzen.*

1. Nachdem Sie die Konversationsphasen festgelegt haben, in denen die Lambda-Funktion aufgerufen werden soll, **erstellen Sie** den Bot erneut, um die Funktion zu testen.

# Hängen Sie mithilfe von API-Operationen eine AWS Lambda Funktion an einen Amazon Lex V2-Bot an
<a name="lambda-attach-api"></a>

Sie müssen zuerst eine Lambda-Funktion an Ihren Amazon Lex V2-Bot-Alias anhängen, bevor Sie ihn aufrufen können. Sie können jedem Bot-Alias nur eine Lambda-Funktion zuordnen. Führen Sie diese Schritte aus, um die Lambda-Funktion mithilfe von API-Operationen anzuhängen. 

Wenn Sie einen neuen Bot-Alias erstellen, verwenden Sie den [CreateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotAlias.html)Vorgang, um eine Lambda-Funktion anzuhängen. Verwenden Sie die [UpdateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html)Operation, um eine Lambda-Funktion an einen vorhandenen Bot-Alias anzuhängen. Ändern Sie das `botAliasLocaleSettings` Feld so, dass es die richtigen Einstellungen enthält:

```
{
    "botAliasLocaleSettings" : {
        locale: {
            "codeHookSpecification": {
                "lambdaCodeHook": {
                    "codeHookInterfaceVersion": "1.0",
                    "lambdaARN": "arn:aws:lambda:region:account-id:function:function-name"
                }
            },
            "enabled": true
        },
        ...
    }
}
```

1. Das `botAliasLocaleSettings` Feld ist einem Objekt zugeordnet, dessen Schlüssel die Gebietsschemas sind, an die Sie die Lambda-Funktion anhängen möchten. Eine Liste der unterstützten Gebietsschemas und der Codes, bei denen es sich um gültige Schlüssel handelt, finden Sie unter. [Unterstützte Sprachen und Gebietsschemas](how-languages.md#supported-languages)

1. Um die Funktion `lambdaARN` for a Lambda zu finden, öffnen Sie die AWS Lambda Konsole zu [https://console.aws.amazon.com/lambda/Hause](https://console.aws.amazon.com/lambda/home), wählen Sie in der linken Seitenleiste **Funktionen** und wählen Sie die Funktion aus, die dem Bot-Alias zugeordnet werden soll. Auf der rechten Seite der **Funktionsübersicht** finden Sie `lambdaARN` unter **Funktion ARN**. Sie sollte eine Region, eine Konto-ID und den Namen der Funktion enthalten.

1. Damit Amazon Lex V2 die Lambda-Funktion für den Alias aufrufen kann, setzen Sie das `enabled` Feld auf. `true`

**Festlegung einer Amazon Lex V2-Absicht zum Aufrufen einer Lambda-Funktion mithilfe von API-Vorgängen**

Um den Lambda-Funktionsaufruf während einer Absicht einzurichten, verwenden Sie die [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)Operation, wenn Sie eine neue Absicht erstellen, oder die [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)Operation, wenn Sie die Funktion in einer vorhandenen Absicht aufrufen. Die Felder, die den Lambda-Funktionsaufruf in den Intent-Operationen steuern`dialogCodeHook`, sind, `initialResponseSetting``intentConfirmationSetting`, und. `fulfillmentCodeHook`

Wenn Sie die Funktion während des Auslösens eines Slots aufrufen, verwenden Sie die [CreateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html)Operation, wenn Sie einen neuen Slot erstellen, oder die [UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)Operation, um die Funktion in einem vorhandenen Slot aufzurufen. Das Feld, das den Lambda-Funktionsaufruf in den Slot-Operationen steuert, ist das `slotCaptureSetting` des `valueElicitationSetting` Objekts.

1. Um den Lambda-Dialog-Code-Hook so einzustellen, dass er nach jeder Runde der Konversation ausgeführt wird, setzen Sie das `enabled` Feld des folgenden [DialogCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogCodeHookSettings.html)Objekts im `dialogCodeHook` Feld auf`true`:

   ```
   "dialogCodeHook": {
       "enabled": boolean
   }
   ```

1. Alternativ können Sie den Lambda-Dialogcode-Hook so einrichten, dass er nur an bestimmten Stellen in den Konversationen ausgeführt wird, indem Sie das `codeHook` and/or `elicitationCodeHook` Feld innerhalb der Strukturen ändern, die den Konversationsphasen entsprechen, in denen Sie die Funktion aufrufen möchten. Um den Lambda-Dialogcode-Hook für die Erfüllung von Absichten zu verwenden, verwenden Sie das `fulfillmentCodeHook` Feld in der [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)Operation [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)or. Die Strukturen und Verwendungszwecke dieser drei Arten von Code-Hooks lauten wie folgt:

## CodeHook
<a name="lambda-code-hook"></a>

Das `codeHook` Feld definiert die Einstellungen für den Code-Hook, der in einer bestimmten Phase der Konversation ausgeführt werden soll. Es ist ein [DialogCodeHookInvocationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogCodeHookInvocationSetting.html)Objekt mit der folgenden Struktur:

```
"codeHook": {
    "active": boolean,
    "enableCodeHookInvocation": boolean,
    "invocationLabel": string,
    "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
}
```
+ Ändern Sie das `active` Feld auf `true` für Amazon Lex V2, um den Code-Hook an diesem Punkt in der Konversation aufzurufen.
+ Ändern Sie das `enableCodeHookInvocation` Feld auf `true` für Amazon Lex V2, damit der Code-Hook normal ausgeführt werden kann. Wenn Sie es markieren`false`, verhält sich Amazon Lex V2 so, als ob der Code-Hook erfolgreich zurückgegeben wurde.
+ Das `invocationLabel` gibt den Dialogschritt an, von dem aus der Code-Hook aufgerufen wird.
+ Verwenden Sie das `postCodeHookSpecification` Feld, um die Aktionen und Meldungen anzugeben, die nach einem erfolgreichen, fehlgeschlagenen oder nach einem Timeout des Code-Hooks ausgeführt werden.

## elicitationCodeHook
<a name="lambda-elicitation-code-hook"></a>

Das `elicitationCodeHook` Feld definiert die Einstellungen für den Code-Hook, der ausgeführt werden soll, falls ein oder mehrere Slots erneut abgerufen werden müssen. Dieses Szenario kann eintreten, wenn die Slot-Abfrage fehlschlägt oder die Bestätigung der Absicht verweigert wird. Das `elicitationCodeHook` Feld ist ein [ElicitationCodeHookInvocationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ElicitationCodeHookInvocationSetting.html)Objekt mit der folgenden Struktur:

```
"elicitationCodeHook": {
    "enableCodeHookInvocation": boolean,
    "invocationLabel": string
}
```
+ Ändern Sie das `enableCodeHookInvocation` Feld auf `true` für Amazon Lex V2, damit der Code-Hook normal ausgeführt werden kann. Wenn Sie es markieren`false`, verhält sich Amazon Lex V2 so, als ob der Code-Hook erfolgreich zurückgegeben wurde.
+ Das `invocationLabel` gibt den Dialogschritt an, von dem aus der Code-Hook aufgerufen wird.

## fulfillmentCodeHook
<a name="lambda-fulfillment-code-hook"></a>

Das `fulfillmentCodeHook` Feld definiert die Einstellungen für den Code-Hook, der ausgeführt werden soll, um die Absicht zu erfüllen. Es ist dem folgenden [FulfillmentCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentCodeHookSettings.html)Objekt zugeordnet:

```
"fulfillmentCodeHook": {
    "active": boolean,
    "enabled": boolean,
    "fulfillmentUpdatesSpecification": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "postFulfillmentStatusSpecification": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html)
}
```
+ Ändern Sie das `active` Feld auf `true` für Amazon Lex V2, um den Code-Hook an diesem Punkt in der Konversation aufzurufen.
+ Ändern Sie das `enabled` Feld auf `true` für Amazon Lex V2, damit der Code-Hook normal ausgeführt werden kann. Wenn Sie es markieren`false`, verhält sich Amazon Lex V2 so, als ob der Code-Hook erfolgreich zurückgegeben wurde.
+ Verwenden Sie das `fulfillmentUpdatesSpecification` Feld, um die Nachrichten anzugeben, die den Benutzer während der Erfüllung der Absicht auf den neuesten Stand bringen sollen, und den damit verbundenen Zeitpunkt.
+ Verwenden Sie das `postFulfillmentStatusSpecification` Feld, um die Meldungen und Aktionen anzugeben, die nach einem erfolgreichen, fehlgeschlagenen oder nach einem Timeout des Code-Hooks ausgeführt werden.

Sie können den Lambda-Code-Hook an den folgenden Stellen in einer Konversation aufrufen, indem Sie die `enabled` Felder `active` und`enableCodeHookInvocation`/auf setzen: `true`

## Während der ersten Antwort
<a name="lambda-hook-initial-response"></a>

Um die Lambda-Funktion in der ersten Antwort aufzurufen, nachdem die Absicht erkannt wurde, verwenden Sie die `codeHook` Struktur im `initialResponse` Feld der Operation [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)or [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html). Das `initialResponse` Feld ist dem folgenden [InitialResponseSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_InitialResponseSetting.html)Objekt zugeordnet:

```
"initialResponse": {
    "codeHook": {
        "active": boolean,
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "initialResponse": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "nextStep": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html),
    "conditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html)
}
```

## Nach der Slot-Exicitation oder während der Slot-Re-Exicitation
<a name="lambda-hook-elicit-slot"></a>

Um die Lambda-Funktion aufzurufen, nachdem ein Slot-Wert abgerufen wurde, verwenden Sie das `slotCaptureSetting` Feld innerhalb des Felds der `valueElicitation` OR-Operation. [CreateSlot[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html) Das `slotCaptureSetting` Feld ist dem folgenden Objekt zugeordnet: [SlotCaptureSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_SlotCaptureSetting.html)

```
"slotCaptureSetting": {
    "captureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "captureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "captureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html),
    "codeHook": {
        "active": true,
        "enableCodeHookInvocation": true,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "elicitationCodeHook": {
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string
    },
    "failureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "failureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "failureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html)
}
```
+ Verwenden Sie das Feld, um die Lambda-Funktion aufzurufen, nachdem die Slot-Ermittlung erfolgreich war. `codeHook`
+ Verwenden Sie das Feld, um die Lambda-Funktion aufzurufen, nachdem die Slot-Erfassung fehlgeschlagen ist und Amazon Lex V2 versucht, die Slot-Abfrage erneut zu versuchen. `elicitationCodeHook`

## Nach Bestätigung oder Ablehnung der Absicht
<a name="lambda-hook-confirm-intent"></a>

Verwenden Sie das `intentConfirmationSetting` Feld der Operation [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)or [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html), um die Lambda-Funktion aufzurufen, wenn Sie eine Absicht bestätigen. Das `intentConfirmation` Feld ist dem folgenden [IntentConfirmationSetting](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_IntentConfirmationSetting.html)Objekt zugeordnet:

```
"intentConfirmationSetting": {
    "active": boolean,
    "codeHook": {
        "active": boolean,
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
        "postCodeHookSpecification": [PostDialogCodeHookInvocationSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostDialogCodeHookInvocationSpecification.html),
    },
    "confirmationConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "confirmationNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "confirmationResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialResponseSpecificationogState.html),
    "declinationConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "declinationNextStep": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "declinationResponse": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html),
    "elicitationCodeHook": {
        "enableCodeHookInvocation": boolean,
        "invocationLabel": string,
    },
    "failureConditional": [ConditionalSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ConditionalSpecification.html),
    "failureNextStep": [DialogState object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DialogState.html),
    "failureResponse": [ResponseSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ResponseSpecification.html),
    "promptSpecification": [PromptSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PromptSpecification.html)
}
```
+ Verwenden Sie das Feld, um die Lambda-Funktion aufzurufen, nachdem der Benutzer die Absicht und ihre Slots bestätigt hat. `codeHook`
+ Verwenden Sie das Feld, um die Lambda-Funktion aufzurufen, nachdem der Benutzer die Bestätigung der Absicht verweigert hat und Amazon Lex V2 versucht, die Slot-Abfrage erneut zu versuchen. `elicitationCodeHook`

## Während der Absichtserfüllung
<a name="lambda-hook-fulfill-intent"></a>

Um die Lambda-Funktion aufzurufen, um eine Absicht zu erfüllen, verwenden Sie das `fulfillmentCodeHook` Feld in der Operation [CreateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateIntent.html)or [UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html). Das `fulfillmentCodeHook` Feld ist dem folgenden [FulfillmentCodeHookSettings](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentCodeHookSettings.html)Objekt zugeordnet:

```
{
    "active": boolean,
    "enabled": boolean,
    "fulfillmentUpdatesSpecification": [FulfillmentUpdatesSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_FulfillmentUpdatesSpecification.html),
    "postFulfillmentStatusSpecification": [PostFulfillmentStatusSpecification object](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_PostFulfillmentStatusSpecification.html)
}
```

3. Nachdem Sie die Konversationsphasen festgelegt haben, in denen die Lambda-Funktion aufgerufen werden soll, verwenden Sie den `BuildBotLocale` Vorgang, um den Bot neu zu erstellen, um die Funktion zu testen.