ハンズオン#2-2:Amazon Lex ボットに Lambda 関数を追加する

Amazon Lex ボットに Lambda 関数を追加する

ボットの言語構成で Lambada 関数を指定する

次に、Lex コンソール画面に戻ります。コンソールの検索バーにLexと入力してサービスを選択し、Lex コンソールのV2に入っていることを確認します(*作成済みのボットが見つからない場合は、V2ではなくV1コンソールを参照している可能性があります*)。

Lambda 関数は言語ごとに定義します。具体的にはボットのエイリアスと Lambda 関数を紐付けます。ここでは、ハンズオン#1 で作成した、MakeReservation ボットの Prod エイリアス に紐付けます。

Lex コンソールで MakeResrvation ボットをクリックし、左側のメニューで [エイリアス] を選択すると、ボットに定義されたエイリアスのリストが表示されます。先ほど作成した Prod エイリアス をクリックして詳細画面を開きます。

Prod エイリアス の詳細画面で、言語から Japanese(Japan) をクリックします。

Lambda 関数 メニューで先ほど作成した lex-ReservationBot_JP 関数を選択し(バージョンは $LATEST とします)、右下の [保存] ボタンを押します。

インテントで Lambda コードフックを有効にする

Amazon Lex ボットから Lambda 関数を呼び出すには、インテントと Lambda 関数を紐付ける必要があります。

左側のメニューで [ボットのバージョン] をクリックしてバージョン一覧を表示し、編集可能なバージョンである [ドラフトバージョン] のボットを選択します。

左側のメニューで [インテント] をクリックしてインテントの一覧を表示し、[Waitlist] インテントを選択します。

Waitlist インテントの詳細画面で、フルフィルメント セクションまでスクロールし、▶︎ を押して吹き出しを展開し、 [詳細オプション] ボタンをクリックします。

フルフィルメントの詳細オプション 画面の フルフィルメント Lambda コードフック セクションで、フルフィルメント に Lambda 関数を使用 にチェックし、右下の [更新オプション] ボタンを押します。

Waitlist インテントの詳細画面に戻るので、右下の [インテントを保存] ボタンを押します。その後、インテント保存済み になったら [構築] ボタンを押してボットをビルドします。

ボットのビルドが完了したら、左側のメニューで [インテントリストに戻る] をクリックします。さらに [ボットのバージョン] をクリックしてバージョン一覧を表示し、右上の [バージョンを作成] ボタンを押して バージョン2 をデプロイします。

最後に、Prod エイリアスに今作成したボットのバージョンを関連づけます。

左側のメニューで [エイリアス] を選択し、エイリアスの一覧を表示して Prod エイリアスをクリックします。[バージョンとエイリアスの関連付け] ボタンを押して、作成した バージョン 2 を関連付けます。

これでボットから Lambda 関数を実行する準備ができたので、Lex コンソールでテストをしてみます。

Prod エイリアスに関連づけられている バージョン 2 を選択し、左側のメニューから [インテント] をクリックします。インテントリストが表示されるので、右下の [テスト] ボタンを押します。テストするエイリアスの選択 ダイアログが表示されるので、右下の [確認] ボタンを押します。

テストウィンドウのメッセージ欄に「順番待ち」と入力して、Waitlist インテントを実行します。ボットとの会話の最後に予約番号が返されることを確認してください。

Amazon Connect からのテスト

テスト用の電話番号に架電して、順番待ちインテントを実行してください。Lex コンソールからのテストと同様に、予約番号が読み上げられることを確認します。