aws-lambda - Lambda 函数无法识别 LexBot
问题描述
我创建了简单的 Lambda 函数(简单的 nodejs 应用程序)并尝试与 Lex 机器人集成。已遵循 aws 文档并创建了执行角色。为 lex 机器人配置了正确的别名并关联了版本。
当我测试 lambda 函数执行时,它会引发以下错误:
{
"errorType": "BadRequestException",
"errorMessage": "INVALID_REQUEST - Invalid bot name or alias",
"trace": [
"BadRequestException: INVALID_REQUEST - Invalid bot name or alias",
" at Object.extractError (/var/task/node_modules/aws-sdk/lib/protocol/json.js:52:27)",
" at Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/rest_json.js:55:8)",
" at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
" at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
" at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:688:14)",
" at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)",
" at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)",
" at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10",
" at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)",
" at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:690:12)"
]
}
机器人名称和别名有效。我检查过了。仍然会引发错误。如何调试这个?
解决方案
我面临同样的事情,aws lex-models get-bots
尽管存在机器人,但返回一个空列表。
aws lexv2-runtime recognize-text --bot-id <botId> --bot-alias-id TSTALIASID --locale-id 'en_GB' --session-id 'test_sessio1n' --text 'my input test'
以上给出了适当的回应。
我猜这是 Lex v1 vs v2 的问题。