1

嗨,我是 AWS 的新手,我正在使用 AWS Lex 机器人,我的问题是我通过 lambda 函数为 Lex 机器人配置了 Fulfillment,它成功地在 Lex 测试机器人上运行,但是当我在 AWS 移动集线器上配置 lex 并下载 android源代码并在 android 设备上运行,然后所有 lex 意图都可以工作,但实现 lambda 函数没有任何响应。

我该如何解决谢谢

4

1 回答 1

0

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;
        }
    }
于 2017-08-09T15:07:00.807 回答