首页 > 解决方案 > 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-lambdaamazon-lex

解决方案


我面临同样的事情,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 的问题。


推荐阅读