メニュー
Amazon Lex
開発者ガイド

ステップ 4: Lambda 関数をコードフックとして追加する

このセクションでは、初期化/検証とフルフィルメントアクティビティのためのコードフックとして Lambda 関数を追加して、BookCar と BookHotel の両方のインテントの設定を更新します。更新できるのは Amazon Lex リソースの $LATEST バージョンのみであるため、インテントの $LATEST バージョンを選択していることを確認します。

  1. Amazon Lex コンソールで、[BookTrip] ボットを選択します。

  2. [Editor] タブで、[BookHotel] インテントを選択します。インテント設定を次のように更新します。

    1. インテントのバージョン (インテント名の横にある) が $LATEST であることを確認します。

    2. Lambda 関数を次のように初期化および検証のコードフックとして追加します。

      • [Options] で、[Initialization and validation code hook] を選択します。

      • リストから Lambda 関数を選択します。

    3. Lambda 関数を次のようにフルフィルメントのコードフックとして追加します。

      • [Fulfillment] で、[AWS Lambda function] を選択します。

      • リストから Lambda 関数を選択します。

      • [Goodbye message] を選択し、メッセージを入力します。

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

  3. [Editor] タブで、BookCar インテントを選択します。前述のステップに従って、Lambda 関数を検証とフルフィルメントのコードフックとして追加します。

  4. [Build] を選択します。コンソールによって、設定を保存するための一連のリクエストが Amazon Lex に送信されます。

  5. ボットをテストします。これで初期化、ユーザーデータの検証、およびフルフィルメントを実行する Lambda 関数を作成したので、ユーザー操作での違いを確認できます。

    クライアント (コンソール) から Amazon Lex へのデータフローおよび Amazon Lex から Lambda 関数へのデータフローの詳細については、「データフロー: BookHotel インテント」を参照してください。

  6. 会話を続行して、次のように車を予約します。

    車の予約を選択すると、(前の BookHotel での会話からの) セッション属性が含まれているリクエストが、クライアント (コンソール) によって Amazon Lex に送信されます。Amazon Lex はこの情報を Lambda 関数に渡し、その関数によって BookCar のスロットデータの一部 (PickUpDate、ReturnDate、および PickUpCity) が初期化 (事前入力) されます。

    注記

    これは、セッション属性を使用してインテント間でコンテキストを保持する方法を示しています。コンソールクライアントでは、テストウィンドウにある [Clear] リンクを使用して以前のセッション属性をクリアできます。

    クライアント (コンソール) から Amazon Lex へのデータフローおよび Amazon Lex から Lambda 関数へのデータフローの詳細については、「データフロー: BookCar インテント」を参照してください。