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.
Erstellen eines AWS Lambda Funktion für deinen Bot
Um eine Lambda-Funktion für Ihren Amazon Lex V2-Bot zu erstellen, greifen Sie auf AWS Lambda von Ihrem AWS Management Console und erstelle eine neue Funktion. Sie können sich auf die beziehen AWS Lambda Im Entwicklerhandbuch finden Sie weitere Informationen zu AWS Lambda.
-
Melden Sie sich an bei AWS Management Console und öffne das AWS Lambda Konsole bei https://console.aws.amazon.com/lambda/
. -
Wählen Sie in der linken Seitenleiste Funktionen.
-
Wählen Sie Funktion erstellen aus.
-
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:
-
Geben Sie Ihrer Funktion einen aussagekräftigen Funktionsnamen, um zu beschreiben, was sie tut.
-
Wählen Sie im Drop-down-Menü unter Runtime eine Sprache aus, in der Sie Ihre Funktion schreiben möchten.
-
Wählen Sie eine Befehlssatzarchitektur für Ihre Funktion aus.
-
Standardmäßig erstellt Lambda eine Rolle mit Basisberechtigungen. Um eine vorhandene Rolle zu verwenden oder eine Rolle zu erstellen mit AWS Erweitern Sie das Menü Standardausführungsrolle ändern und wählen Sie eine Option aus.
-
Erweitern Sie das Menü Erweiterte Einstellungen, um weitere Optionen zu konfigurieren.
-
-
Wählen Sie Funktion erstellen aus.
Die folgende Abbildung zeigt, was Sie sehen, wenn Sie eine neue Funktion von Grund auf neu erstellen:
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, unterAWS Lambda Eingabeereignisformat für Lex V2. Ändern Sie die Handler-Funktion so, dass letztendlich ein response
JSON Objekt zurückgegeben wird, das dem unter beschriebenen Format entsprichtAWS Lambda Antwortformat für Lex V2.
-
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 verwenden AWS Lambda funktioniert in Bot-Konversationen
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.