如何使 AWS APPSync API 从开发到暂存再到生产保持同步?
How to keep AWS APPSync APIs in sync from Dev to Staging to Production?
假设您有一个名为 API-DEV
的 AWS AppSync API。
它托管 GraphQL 架构、解析器、数据源、DynamoDB 表(例如:Dev_Articles
)、DynamoDB 表配置和 DynamoDB 数据。 API 消耗了大约。同一个 React 应用程序的 50 个实例。
您将如何自动将最新功能从 API-DEV
迁移到 API-STAGING
?请注意,我想更新除数据之外的所有内容。
我正在考虑的方法:
- 保留要更新的列表,将登台应用程序移至维护模式,并手动将更改应用到登台环境。似乎每次 "release" 都有很多工作要做,而且容易出错。
- 将某种 YAML 模板与
aws-cli
结合使用,将更改存储在 GIT 存储库中并在推送时自动部署。似乎是执行此操作的好方法,但找不到分步指南,另外,我们所有的配置都已经在 AWS 中,所以我猜我们必须使用模板重新创建所有配置。
- 使用某种工具自动比较和更新两个给定的 API 和 DynamoDB。还没有找到这个。
- 构建我自己的 Nodejs 应用程序,该应用程序将利用
aws-cli
进行比较和更新。然后将其托管在 Lamda 上,并通过推送 React 应用程序存储库的 staging
或 master
分支(代码提交 > 代码构建 > 代码部署)触发。这就是我现在要去的地方,但那里可能有一个现有的解决方案。
还有其他想法吗?让我知道!
使用CloudFormation to model your API。然后,您可以将 API 配置、解析器和数据源(无数据)作为代码和 运行 在各个阶段的模板进行维护。
为了简化 CloudFormation 的创建,您可以使用 AWS Amplify CLI 来定义 GraphQL 模式,它将为您自动生成解析器。
看看这个:https://github.com/sid88in/serverless-appsync-plugin
Serverless-appsync-plugin 让您的生活更轻松。它的配置应该比设置您自己的 Cloudformation 更简单。
假设您有一个名为 API-DEV
的 AWS AppSync API。
它托管 GraphQL 架构、解析器、数据源、DynamoDB 表(例如:Dev_Articles
)、DynamoDB 表配置和 DynamoDB 数据。 API 消耗了大约。同一个 React 应用程序的 50 个实例。
您将如何自动将最新功能从 API-DEV
迁移到 API-STAGING
?请注意,我想更新除数据之外的所有内容。
我正在考虑的方法:
- 保留要更新的列表,将登台应用程序移至维护模式,并手动将更改应用到登台环境。似乎每次 "release" 都有很多工作要做,而且容易出错。
- 将某种 YAML 模板与
aws-cli
结合使用,将更改存储在 GIT 存储库中并在推送时自动部署。似乎是执行此操作的好方法,但找不到分步指南,另外,我们所有的配置都已经在 AWS 中,所以我猜我们必须使用模板重新创建所有配置。 - 使用某种工具自动比较和更新两个给定的 API 和 DynamoDB。还没有找到这个。
- 构建我自己的 Nodejs 应用程序,该应用程序将利用
aws-cli
进行比较和更新。然后将其托管在 Lamda 上,并通过推送 React 应用程序存储库的staging
或master
分支(代码提交 > 代码构建 > 代码部署)触发。这就是我现在要去的地方,但那里可能有一个现有的解决方案。
还有其他想法吗?让我知道!
使用CloudFormation to model your API。然后,您可以将 API 配置、解析器和数据源(无数据)作为代码和 运行 在各个阶段的模板进行维护。
为了简化 CloudFormation 的创建,您可以使用 AWS Amplify CLI 来定义 GraphQL 模式,它将为您自动生成解析器。
看看这个:https://github.com/sid88in/serverless-appsync-plugin
Serverless-appsync-plugin 让您的生活更轻松。它的配置应该比设置您自己的 Cloudformation 更简单。