Eine Lambda-Funktion erstellen und an einen Bot-Alias anhängen - Amazon Lex

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 Lambda-Funktion erstellen und an einen Bot-Alias anhängen

Die Lambda-Funktion erstellen

Um eine Lambda-Funktion für Ihren Amazon Lex V2-Bot zu erstellen, greifen Sie AWS Lambda von Ihrem aus zu AWS Management Console und erstellen Sie eine neue Funktion. Weitere Informationen zu finden Sie im AWS LambdaEntwicklerhandbuch. AWS Lambda

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda.

  2. Wählen Sie in der linken Seitenleiste Funktionen.

  3. Wählen Sie Funktion erstellen aus.

  4. 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.

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

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

    4. Standardmäßig erstellt Lambda eine Rolle mit Basisberechtigungen. Um eine vorhandene 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.

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

  5. 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.

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 sehenevent, die Amazon Lex V2 zur Verfügung stellt, unterInterpretieren des Eingabeereignisformats. Ändern Sie die Handler-Funktion so, dass letztendlich ein response JSON-Objekt zurückgegeben wird, das dem unter beschriebenen Format entsprichtVorbereitung des Antwortformats.

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

Hinzufügen und Aufrufen einer Lambda-Funktion

Um die Lambda-Funktion in Ihrem Amazon Lex V2-Bot aufzurufen, müssen Sie die Funktion zunächst an einen Bot-Alias anhängen und dann die Punkte in der Konversation festlegen, an denen der Bot die Funktion aufruft. Sie können diese Schritte entweder mit der Konsole oder mit API-Operationen ausführen.

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.