拦截 AWS Lambda 对 AWS Lex 查询的响应

Intercepting AWS Lambda Response to a AWS Lex Query

我所在的团队正在尝试将 AWS Lex 集成到我们的一个 Web 应用程序中。目前,我们采用的方法是用户要求 Lex 运行 一个 SQL 查询。然后 Lex 将根据用户的问题决定适当的意图(即,如果用户想使用值 A 进行搜索,Lex 将选择意图 A)并将此信息发送回我们的 Web 应用程序,然后它将 运行 适当的方法用于执行 SQL 查询(其中方法名称与意图名称匹配)。

回顾一下,我们要做的事情如下:
1) 用户告诉 Lex 他们想要使用值 A 搜索数据
2) Lex确定正确的意图(Intent A)
3) Lex 将此信息发送到 Lambda,然后 Lambda returns 将意图名称发送到 Web 客户端
4) 我们的 Web 应用程序拦截来自 Lambda 的响应并执行正确的方法
5) 通过 Lex 向用户显示结果。

我的问题是这是否可能,尤其是拦截 Lambda 响应。如果是这样,任何人都可以向我指出有关我可以在哪里阅读如何实施此信息的相关信息吗?我最近几天一直在搜索,但没有找到与此特定用例相关的任何材料。

非常感谢!

  1. User tells Lex that they want to search for data using Value A
  2. Lex determines the correct intent (Intent A)

我认为你应该为此使用单一意图和不同的插槽,这样会更有效率。

  1. Lex sends this information to Lambda which then returns the intent name to the web client
  2. Our web application intercepts this response from Lambda and executes he correct method

您应该在您的 Web 服务器上编写一个 Rest API,它将获取数据和 return 输出。在您的 Lambda 函数中,您可以编写简单的 HTTP request/post 方法来请求 api 并获得响应。

  1. Results shown to the user via Lex

获得响应后,您可以使用 Close.

简单地 return 对机器人的响应

希望对您有所帮助。