🤖
Amazon LexのバージョンによるLambdaレスポンスの違いについて
2021/04/02からAmazon Lexが遂に日本語対応されました!
バージョンの違い
色々触ってAmazon Lexにはv1とv2がある模様です。
Lexの返答にはLambdaを使うことが可能ですが、そのLexを作るバージョンによってレスポンスが異なっているので注意が必要です。
具体的なレスポンスのドキュメントは下記をご確認ください。
■v1
■v2
具体的なソース
v1とv2それぞれ簡単なレスポンスは下記で実装できます。
dialogActionのmessageのcontentに返してほしいテキストを入れるようです。
index.js(v1)
exports.handler = async (event) => {
const response = {
"dialogAction": {
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": "これはv1です。"
}
}
};
return response;
};
下記のように応答が返ってきます。
続いてv2
index.js(v2)
exports.handler = async (event) => {
const response = {
"sessionState": {
"dialogAction": {
"type": "Close",
},
"intent": {
"name": "",
"state": "Fulfilled"
}
},
"messages": [
{
"contentType": "PlainText",
"content": "これはv2です。"
}
]
};
return response;
};
下記のように返ってきます。
v2のLambda指定箇所
v2ではLambdaの指定箇所が奥深すぎて見つけにくいです。。。
まず、左側のメニューからAliases①をクリックして、TestBotAlias②をクリックします。
Japanese(Japan)③をクリックします。
ようやくLambdaを指定する画面が表示されます。。。
まとめ
個人的にはv1の画面のほうがわかりやすかったです。v2はLambdaを指定する場所が奥深すぎて見つけにくい。。。
Amazon Lexがようやく日本語対応してくれたので、Amazon Connectとの連携が増えるのがとても楽しみですね!
システム化のご検討やご相談は弊社までお問い合わせください。
Discussion