Lex bot returns 参数到客户端而不是 lambda 实现函数输出

Lex bot returns parameters to client instead of lambda fulfilment function output

我已经将 Amazon Lex 机器人与 Facebook 工作场所信使集成在一起,它可以响应话语(问题)并填满所有槽。但是当用户回答所有问题时,它只是 returns 传递给 messenger 的参数(意图名称和所有插槽及其键值对中的值)作为最终输出,而不是 Lambda 函数 returns 的实际输出.下面是最终返回的输出:

Intent: TestIntent
Slots: month:jan year:2015 channel:testChannel type:testType main:salesVolume category:testCategory region:testRegion

我已经在 fulfillment 中指定了一个 Lambda 函数(但在 lambda 初始化和验证中没有指定),它给出了最终输出。这个机器人在 Lex Test Bot 中工作并返回正确的输出,我想这是因为成功调用了 Lambda 函数。

在 Lex 控制台的“频道”选项卡中,Messenger 集成的 IAM 角色是 AWSServiceRoleForLexChannels,但无法更改。

Facebook Messenger 没有调用 Lambda 函数吗?为什么 Lex 机器人在测试中工作但在 Facebook 工作场所 Messenger 中不工作?

该问题与机器人别名和版本控制有关。 Messenger 集成使用的别名指向旧版本。将别名指针更改为最新版本并且有效。