嗨,我是 AWS 的新手,我正在使用 AWS Lex 机器人,我的问题是我通过 lambda 函数为 Lex 机器人配置了 Fulfillment,它成功地在 Lex 测试机器人上运行,但是当我在 AWS 移动集线器上配置 lex 并下载 android源代码并在 android 设备上运行,然后所有 lex 意图都可以工作,但实现 lambda 函数没有任何响应。
我该如何解决谢谢
嗨,我是 AWS 的新手,我正在使用 AWS Lex 机器人,我的问题是我通过 lambda 函数为 Lex 机器人配置了 Fulfillment,它成功地在 Lex 测试机器人上运行,但是当我在 AWS 移动集线器上配置 lex 并下载 android源代码并在 android 设备上运行,然后所有 lex 意图都可以工作,但实现 lambda 函数没有任何响应。
我该如何解决谢谢
Lambda 实现的返回流程略有不同,因为 Lambda 函数负责在所有插槽都满足后实现,而不是将其传递回客户端进行实现。如果您希望看到消息返回,您可以将 ConversationalBotTextFragment.java (mysampleapp/demo/bots/ConversationalBotTextFragment) 中的 promptUserToRespond 更改为以下内容:
public void promptUserToRespond(Response response,
LexServiceContinuation continuation) {
if(!DialogState.ReadyForFulfillment.toString().equals(response.getDialogState())
&& !DialogState.Fulfilled.toString().equals(response.getDialogState())) {
addMessage(new TextMessage(response.getTextResponse(), "rx", getCurrentTimeStamp()));
readUserText(continuation);
}
else if(DialogState.Fulfilled.toString().equals(response.getDialogState())) {
addMessage(new TextMessage(response.getTextResponse(), "rx", getCurrentTimeStamp()));
inConversation = false;
}
}