【问题标题】:Can Aurora PostgreSQL be used with AWS AppSync?Aurora PostgreSQL 可以与 AWS AppSync 一起使用吗?
【发布时间】:2018-07-08 21:03:24
【问题描述】:

我看到了将 DynamoDB 作为 AWS AppSync 数据源的示例,但我想知道是否可以使用 Aurora(特别是 PostgreSQL)?如果是,解析器会是什么样的基本示例?是否有任何资源可以演示如何为 Aurora PostgreSQL 甚至 MySQL 执行此操作?

【问题讨论】:

    标签: amazon-aurora aws-appsync


    【解决方案1】:

    它不能。您可以使用 Aurora Serverless 作为由 Data API(仍处于测试阶段)驱动的数据源,这允许您将解析器配置为数据库查询。话虽如此,数据 API 仍然非常慢,并且 Aurora Serverless 的冷启动时间为 30 秒左右,因为它需要从 VPC 运行。我建议避免生产,但值得一玩。

    您最好使用 Lambda 作为解析器或从解析器中运行 HTTP RestFul 调用。

    忽略答案中提供的 cmets,没有不尊重,但 cmets 来自从未大规模管理生产的人。当您的产品收入接近 100 万时,您拥有全面管理的大规模 GraphQL 服务以及高度安全的状态,这将为您节省数月的维护噩梦。

    【讨论】:

      【解决方案2】:

      您可以使用 AWS AppSync 中提供的 AWS Lambda 解析程序来访问 Aurora Postgres。该代码类似于使用任何语言访问关系数据库的方式。例如,您可以使用 node-postgres 和 NodeJS 来实现 Lambda 函数。

      【讨论】:

      • 到那时,为什么不在 Lambda 中启动 Graphile 呢?似乎 AppSync 并没有增加太多价值……
      • 我希望 aws 也能提供这样的功能!使用 Graphile、graphql-yoga 或 apollo-server 总是意味着您需要为 websocket 运行实例并需要扩展它们。我猜 appsyncs 在这方面更聪明。除此之外,我同意 cazzer
      • 我想现在可以不用任何 Lambda 直接完成。不是吗?我对如何做好它有点困惑......:/
      • @cazzer Graphpille 不支持订阅,这是使用 graphql 的驱动程序。 AppSync 还与 AWS Cognito 用户池相关联,使跨服务的身份验证更容易。
      【解决方案3】:

      是的,这可以做到。

      看看这个开源代码库就是这样做的:https://github.com/wednesday-solutions/appsync-rds-todo

      【讨论】:

      • 欢迎来到 SO!不要发布指向网站的链接,因为将来它可能会被破坏或删除。相反,请解释解决方案。
      【解决方案4】:

      在撰写本文时,是的,但前提是它是设置为 Postgres 兼容性的 无服务器 Aurora RDS 集群。原因是它是唯一支持Data API 的 RDS 实例类型。其他 RDS 实例必须配置为不同的数据源类型,最常见的是 Lambda。

      【讨论】:

        猜你喜欢
        • 2022-09-28
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        • 2021-11-23
        • 1970-01-01
        • 2018-02-19
        • 2020-05-26
        • 2017-06-20
        相关资源
        最近更新 更多