ステップ4: [ Lambda コードフック(コンソール)として機能する - Amazon Lex

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

ステップ4: [ Lambda コードフック(コンソール)として機能する

このセクションでは、 OrderFlowers 使用する意図がある Lambda 次のように機能します。

  • 最初に OrderFlowers インテントを達成するためのコードフックとして Lambda 関数を使用します。ボットをテストして Lambda 関数からフルフィルメントメッセージを受信したことを確認します (Lambda 関数を Amazon Lex が呼び出すのは、花の注文に必要なすべてのスロットにデータが提供された後のみです)。

  • 初期化と検証を行うために同じ Lambda 関数をコードフックとして設定します。Lambda 関数が、(スロットデータが提供されたときに) 検証を行っていることをテストして確認します。

Lambda 関数をコードフックとして追加するには (コンソール)

  1. Amazon Lex コンソールで、[OrderFlowers] ボットを選択します。コンソールに [OrderFlowers] インテントが表示されます。インテントのバージョンが $LATEST に設定されていることを確認します。変更できるのはこのバージョンだけです。

  2. Lambda 関数をフルフィルメントのコードフックとして追加してテストします。

    1. エディタで、[AWS Lambda function (関数)] を [Fulfillment] として選択し、前のステップで作成した Lambda 関数を選択します (OrderFlowersCodeHook)。[OK] を選択して、Lambda 関数を呼び出すアクセス権限を Amazon Lex に付与します。

      この Lambda 関数をコードフックとして設定して、インテントを達成します。Amazon Lex は、インテントを達成するために必要なすべてのスロットデータをユーザーから取得した後のみ、この関数を呼び出します。

    2. [Goodbye message] を指定します。

    3. [Build] を選択します。

    4. 前の会話を使用してボットをテストします。

    最後の文章である「ありがとうございました。お客様のバラは ...」は、コードフックとして設定した Lambda 関数からのレスポンスです。前のセクションでは、Lambda 関数はありませんでした。ここでは、Lambda 関数を使用して実際に OrderFlowers インテントを達成します。

  3. Lambda 関数を初期化および検証のコードフックとして追加してテストします。

    Lambda 関数のサンプルコードを使用して、ユーザー入力の検証とフルフィルメントの両方を行うことができます。入力イベント Lambda 関数 Receives にはフィールド (invocationSource) を使用して、コードのどの部分を実行するかを決定します。詳細については、Lambda 関数の入力イベントとレスポンスの形式 を参照してください。

    1. OrderFlowers の $LATEST バージョンを選択します。これは更新できる唯一のバージョンです。

    2. エディタで、[Options] の [Initialization and validation] を選択します。

    3. ここでも、同じ Lambda 関数を選択します。

    4. [Build] を選択します。

    5. ボットをテストします。

      次のように Amazon Lex と対話する準備が整いました。検証部分をテストするには、時間として 6 PM を選択します。Lambda 関数からレスポンス (「当社の営業時間は午前 10 時から午後 5 時までとなっております」) が返され、選択し直すことを求められます。すべての有効なスロットデータを提供すると、Lambda 関数によって注文が確定されます。

      
                                Lambda 関数でのデータの検証方法を示す OrderFlowers ボットとの会話。

次のステップ

ステップ5(オプション): 情報フローの詳細(コンソール)を確認する