AWS Mobile Hub でプロジェクトを作成し、Lex 会話型ボットをアプリにデプロイしようとしています。Androidスタジオを使用しています。ボットの 1 つに問題があります。このボットは、Lambda コード フック フルフィルメントを使用してユーザーの質問への回答を投稿するシンプルな FAQ チャット ボットです。
ボットは、Lex コンソールだけでなく Slack チャネルでも完全に機能します。ただし、サンプル アプリでは、音声から音声へのデモでのみ機能します。テキストからテキストへのデモを試してみると、ボットがユーザー入力に応答せず、アプリがクラッシュすることがよくあります。
さまざまなボットが統合されたいくつかのサンプル アプリをダウンロードしてテストしました。ラムダ コード フックを持たないすべてのボットは、テキスト デモと音声デモの両方で完全に機能します。ただし、ラムダ コード フックを持つボットは、音声デモでのみ機能します。
編集: 再試行したところ、ラムダ コード フックを備えたボットが応答することがわかりましたが、応答が Lex に委任され、コンソールに設定された構成から取得された場合、または応答が Lambda 入力検証コード フックから取得された場合に限られます。応答が Lambdaフルフィルメントコード フック (PostContent ランタイム API 操作を使用)から来ると予想される場合、応答しません。
Lambda 関数の書き方が間違っているのではないかと考えたので、サンプルの OrderFlowers ボットとそのサンプル コード フックを使用してテストしたところ、同じ結果が得られました。
Lambda 関数は呼び出しエラーをスローしていないことに注意してください。呼び出しはすべて正常に処理されていますが、応答は表示されません。
テキストフルフィルメント応答を正常に機能させる方法についてのアイデアはありますか?