我已将 Amazon Lex 机器人与 Facebook 工作场所信使集成,它响应话语(问题)并填满所有插槽。但是当用户回答所有问题时,它只是将参数(意图名称和所有插槽及其键值对中的值)作为最终输出返回给 messenger,而不是 Lambda 函数返回的实际输出。下面是最终返回的输出:
Intent: TestIntent
Slots: month:jan year:2015 channel:testChannel type:testType main:salesVolume category:testCategory region:testRegion
我在实现中指定了一个 Lambda 函数(但不是在 lambda 初始化和验证中),它给出了最终输出。这个机器人在 Lex Test Bot 中工作并返回正确的输出,我想这是因为成功调用了 Lambda 函数。
在 Lex 控制台的 Channels 选项卡中,Messenger 集成的 IAM 角色是AWSServiceRoleForLexChannels
,但这不能更改。
Facebook Messenger 没有调用 Lambda 函数吗?为什么 Lex 机器人可以在测试中工作,但不能在 Facebook 工作场所信使中工作?