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

时间:2018-01-04 01:20:57

标签: c# amazon-web-services aws-lambda amazon-lex

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

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

我的问题是这是否可行,特别是拦截Lambda响应。如果是这样,有人可以请指出相关信息,我可以在哪里阅读如何实现这一点?我一直在寻找最近几天,并没有找到任何相关材料的特定用例。

非常感谢!

1 个答案:

答案 0 :(得分:1)

  
      
  1. 用户告诉Lex他们想要使用值A
  2. 搜索数据   
  3. Lex确定正确的意图(意图A)
  4.   

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

  
      
  1. Lex将此信息发送给Lambda,后者返回意图   Web客户端的名称
  2.   
  3. 我们的网络应用程序截获Lambda的此响应并执行正确的方法
  4.   

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

  
      
  1. 通过Lex向用户显示的结果
  2.   

收到回复后,您只需使用Close将响应返回给机器人。

希望它有所帮助。