我有兴趣使用 AWS Lex 构建机器人,但我不想使用 AWS Lambda 与 DB 交互以获取结果,
例如。如果我们问,“你能告诉我上个月的销售额吗?”我希望机器人回答“上个月销售额 120 万美元”;实现这一点的最简单方法是编写 AWS Lambda 函数来获取详细信息,但是我们可以使用托管在 Ec2 实例或 AWS ELB 上的 Web 应用程序的 API 端点吗
对此有什么想法吗?
苏里亚
我有兴趣使用 AWS Lex 构建机器人,但我不想使用 AWS Lambda 与 DB 交互以获取结果,
例如。如果我们问,“你能告诉我上个月的销售额吗?”我希望机器人回答“上个月销售额 120 万美元”;实现这一点的最简单方法是编写 AWS Lambda 函数来获取详细信息,但是我们可以使用托管在 Ec2 实例或 AWS ELB 上的 Web 应用程序的 API 端点吗
对此有什么想法吗?
苏里亚
不幸的是,不,您不能在不通过 Lambda 的情况下对 Lex 机器人使用任何形式的集成。您可以在没有 Lambda 的情况下构建 Lex 机器人,但它们只能提供静态响应并且不能在 Lex 服务之外调用。
您仍然可以通过 Lambda 使用自己的 API 端点。请记住,如果您调用的资源在 AWS VPC 中但不公开可用,则您需要为 Lambda 添加额外配置才能访问它。Lambda 调用私有 AWS 端点所需的配置示例可以在此处查看:AWS:Lambda 函数无法使用 EC2 实例的私有 API 调用 rest api。
来自 Lex 常见问题解答:
Q. 一个动作是如何完成的?
Amazon Lex 与 AWS Lambda 集成以“实现”操作或业务逻辑。或者,您可以配置 Amazon Lex 以将解析的意图和槽值返回给客户端以执行操作。