AWS AppSync 解析器内部超时配置
Posted
技术标签:
【中文标题】AWS AppSync 解析器内部超时配置【英文标题】:AWS AppSync resolver internal timeout configuration 【发布时间】:2019-12-06 22:59:30 【问题描述】:鉴于我为 http 或 dynamodb 使用简单的 vtl 解析器的场景,有没有办法例如在数据源超时的情况下执行一些清理(例如,dynamodb 服务在 2 秒内没有响应)。不幸的是,我在互联网上的任何地方都找不到任何关于 appsync 和 timeout 的参考,我希望能够: 1. 为解析器指定一个低于默认 appsync 超时 30 秒的阈值超时 2.能够在上述超时的情况下有一个回退机制
我认为使用 lambda 解析器应该很容易做到这一点,但目前我正试图避免这种情况,因为冷启动。
谢谢
【问题讨论】:
【参考方案1】:我在 AWS AppSync 团队工作。 AWS AppSync 目前不支持解析程序的自定义超时值或发生超时时的回退机制。正如您所提到的,如果您需要此功能,则 lambda 解析器是目前最好的选择。
我会将其作为功能请求传递。作为 HTTP 和 DynamoDB 解析器的清理过程的一部分,了解您想要执行哪些类型的操作会很有帮助。
【讨论】:
好吧,不是真的清理,但假设我想从解析器传回某个默认状态以防超时。或者也许可以通过管道连接到另一个要执行的函数。 一个很好的例子是,对于我们网站内的车辆注册查找,我们将使用第三方 http 端点。如果服务在例如2 秒后,我希望网站改为显示手动查找功能,以便用户可以自己输入详细信息。或者,如果服务在 2 秒内没有响应,则可能重试。再说一次,这可以通过客户端超时来完成。 客户端超时不起作用的更好示例可能是在 AppSync 中使用管道解析器进行车辆注册查找。如果使用 2 个第三方提供商,如果第一个比 2 秒慢,我想回退到第二个。使用 AppSync 解析器超时执行此服务器端将节省我从客户端往返的时间。由于不幸的冷启动,我想避免使用 lambda,这在使用 vtl 解析器的 AppSync 中似乎相当不错。以上是关于AWS AppSync 解析器内部超时配置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Aws AppSync 将 JWT 令牌(或任何其他变量)从父解析器传递给子解析器
用于 ElasticSearch 服务的简单 AWS AppSync 架构和解析器
AWS AppSync Lambda 解析器获取查询返回类型