【发布时间】:2018-07-08 21:03:24
【问题描述】:
我看到了将 DynamoDB 作为 AWS AppSync 数据源的示例,但我想知道是否可以使用 Aurora(特别是 PostgreSQL)?如果是,解析器会是什么样的基本示例?是否有任何资源可以演示如何为 Aurora PostgreSQL 甚至 MySQL 执行此操作?
【问题讨论】:
我看到了将 DynamoDB 作为 AWS AppSync 数据源的示例,但我想知道是否可以使用 Aurora(特别是 PostgreSQL)?如果是,解析器会是什么样的基本示例?是否有任何资源可以演示如何为 Aurora PostgreSQL 甚至 MySQL 执行此操作?
【问题讨论】:
它不能。您可以使用 Aurora Serverless 作为由 Data API(仍处于测试阶段)驱动的数据源,这允许您将解析器配置为数据库查询。话虽如此,数据 API 仍然非常慢,并且 Aurora Serverless 的冷启动时间为 30 秒左右,因为它需要从 VPC 运行。我建议避免生产,但值得一玩。
您最好使用 Lambda 作为解析器或从解析器中运行 HTTP RestFul 调用。
忽略答案中提供的 cmets,没有不尊重,但 cmets 来自从未大规模管理生产的人。当您的产品收入接近 100 万时,您拥有全面管理的大规模 GraphQL 服务以及高度安全的状态,这将为您节省数月的维护噩梦。
【讨论】:
您可以使用 AWS AppSync 中提供的 AWS Lambda 解析程序来访问 Aurora Postgres。该代码类似于使用任何语言访问关系数据库的方式。例如,您可以使用 node-postgres 和 NodeJS 来实现 Lambda 函数。
【讨论】:
是的,这可以做到。
看看这个开源代码库就是这样做的:https://github.com/wednesday-solutions/appsync-rds-todo
【讨论】:
在撰写本文时,是的,但前提是它是设置为 Postgres 兼容性的 无服务器 Aurora RDS 集群。原因是它是唯一支持Data API 的 RDS 实例类型。其他 RDS 实例必须配置为不同的数据源类型,最常见的是 Lambda。
【讨论】: