Schritt 1: Erstellen einer Lambda-Funktion - Amazon Lex V1

Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.

 

Wenn Sie Amazon Lex V1 verwenden, empfehlen wir, Ihre Bots auf Amazon Lex V2 zu aktualisieren. Wir fügen V1 keine neuen Funktionen mehr hinzu und empfehlen dringend, V2 für alle neuen Bots zu verwenden.

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.

Schritt 1: Erstellen einer Lambda-Funktion

Erstellen Sie zunächst eine Lambda-Funktion, die eine Pizzabestellung erfüllt. Sie geben diese Funktion in Amazon Lex an, den Sie im nächsten Abschnitt erstellen.

So erstellen Sie eine Lambda-Funktion:

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

  2. Wählen Sie Create function (Funktion erstellen).

  3. Wählen Sie auf der Seite Create function die Option Author from scratch.

    Sie wählen die Option zum völligen Neuerstellen der Funktion aus, da Sie einen benutzerdefinierten Code verwenden, der in dieser Übung bereitgestellt wird, um eine Lambda-Funktion zu erstellen.

    Gehen Sie wie folgt vor:

    1. Geben Sie den Namen (PizzaOrderProcessor) ein.

    2. Wählen Sie für die Runtime (Laufzeit) die neueste Version von Node.js aus.

    3. Wählen Sie unter Role Create new role from template(s) aus.

    4. Geben Sie einen neuen Rollennamen ein (PizzaOrderProcessorRole).

    5. Wählen Sie Create function (Funktion erstellen).

  4. Führen Sie auf der Seite function (Funktion konfigurieren) die folgenden Schritte aus:

    Wählen Sie im Abschnitt Function code die Option Edit code inline aus, kopieren Sie den folgenden Node.js-Funktionscode, und fügen Sie ihn in das Fenster ein.

    'use strict'; // Close dialog with the customer, reporting fulfillmentState of Failed or Fulfilled ("Thanks, your pizza will arrive in 20 minutes") function close(sessionAttributes, fulfillmentState, message) { return { sessionAttributes, dialogAction: { type: 'Close', fulfillmentState, message, }, }; } // --------------- Events ----------------------- function dispatch(intentRequest, callback) { console.log(`request received for userId=${intentRequest.userId}, intentName=${intentRequest.currentIntent.name}`); const sessionAttributes = intentRequest.sessionAttributes; const slots = intentRequest.currentIntent.slots; const crust = slots.crust; const size = slots.size; const pizzaKind = slots.pizzaKind; callback(close(sessionAttributes, 'Fulfilled', {'contentType': 'PlainText', 'content': `Okay, I have ordered your ${size} ${pizzaKind} pizza on ${crust} crust`})); } // --------------- Main handler ----------------------- // Route the incoming request based on intent. // The JSON body of the request is provided in the event slot. export const handler = (event, context, callback) => { try { dispatch(event, (response) => { callback(null, response); }); } catch (err) { callback(err); } };
  5. Wählen Sie Save (Speichern) aus.

Lambda-Funktion anhand von Beispielereignisationsdaten

Testen Sie die Lambda-Funktion in der Konsole, indem Sie sie anhand von Beispielereignisdaten manuell aufrufen.

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

  2. Wählen Sie auf der Lambda-Funktionsseite die Lambda-Funktion (PizzaOrderProcessor).

  3. Wählen Sie auf der Funktionsseite in der Liste der Testereignisse die Option Configure test events aus.

  4. Führen Sie auf der Seite Configure test event die folgenden Schritte aus:

    1. Wählen Sie Create new test event aus.

    2. Geben Sie im Feld Event name einen Namen für das Ereignis ein (PizzaOrderProcessorTest).

    3. Kopieren Sie das folgende Amazon Lex Lex-Ereignis in das Fenster.

      { "messageVersion": "1.0", "invocationSource": "FulfillmentCodeHook", "userId": "user-1", "sessionAttributes": {}, "bot": { "name": "PizzaOrderingApp", "alias": "$LATEST", "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "OrderPizza", "slots": { "size": "large", "pizzaKind": "meat", "crust": "thin" }, "confirmationStatus": "None" } }
  5. Wählen Sie Create (Erstellen) aus.

AWS Lambda erstellt den Test und Sie gelangen zur Funktionsseite zurück. Wählen Sie Test und Lambda führt Ihre Lambda-Funktion aus.

Wählen Sie im Ergebnisfeld die Option Details aus. In der Konsole wird die folgende Ausgabe im Bereich Execution result angezeigt.

{ "sessionAttributes": {}, "dialogAction": { "type": "Close", "fulfillmentState": "Fulfilled", "message": { "contentType": "PlainText", "content": "Okay, I have ordered your large meat pizza on thin crust." } }

Nächster Schritt

Schritt 2: Erstellen eines Bots