Amazon Lex 在 Lambda Fulfillment 上 30 秒超时

2024-01-07

我有一个 lambda 函数,它通过网络服务与一些外部自动化绑定。完成任务大约需要 45 秒。

我已经将 lambda 调用的时间限制更新为 2 分钟,并且当我测试时它工作正常。

但是,当我在 Amazon Lex 中使用文本机器人时,我收到以下消息:

发生错误:机器人配置无效:Lambda 请求未在允许的时间(30 秒)内完成。

有人知道如何增加 Lex Bot 配置以使我的 lambda 脚本至少达到 1 分钟吗?

Thanks


您能详细说明一下您想在这里实现的目标吗?从哲学上讲,机器人应该具有响应能力,因此 Lex 对 lambda 调用设置这样的时间限制是可以理解的。我建议以最终用户探测机器人进行更新的方式对机器人进行建模(这就像 ned 用户轮询此处查看的响应)。在 lambda 中,请求处理应该异步发生。例如,当 lambda 收到请求时:

  • 您可以为请求创建一个 UUID 并异步处理该请求(将请求放在另一个 lambda 选取的 SQS 上并处理类似的事情)。
  • 将 UUID 返回给最终用户,并说“是请求 id。请检查该作业的状态几秒钟。”。
  • 最终用户将继续检查请求的结果,并说“状态是什么”。对于这样的话语,您可以有另一个意图,这将触发 lambda 检查响应。同时,步骤 1 中执行的处理的响应可以发布到 S3 或放入数据库中(使用 UUID 作为该数据的标识符)。当前的 lambda 可以探测 S3 或数据库以获取结果并将其返回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon Lex 在 Lambda Fulfillment 上 30 秒超时 的相关文章

随机推荐