如何使 AWS APPSync API 从开发到暂存再到生产保持同步?



假设您有一个名为API-DEVAWS AppSync API。 它托管 GraphQL 架构、解析器、数据源、DynamoDB 表(例如:Dev_Articles(、DynamoDB 表配置和 DynamoDB 数据。该 API 由同一 React 应用程序的大约 50 个实例使用。

您将如何自动将最新功能从API-DEV迁移到API-STAGING?请注意,我想更新除数据之外的所有内容。

我正在考虑的要走的路:

  1. 保留要更新的内容列表,将暂存应用移至维护模式,并手动将更改应用于暂存环境。似乎在每个"发布"和容易出错时都有很多工作要做。
  2. 将某种 YAML 模板与aws-cli结合使用,将更改存储在 GIT 存储库中,并在推送时自动部署。这似乎是一个很好的方法,但找不到分步指南,此外,我们所有的配置都已经在 AWS 中,所以我的猜测是我们必须使用模板重新创建所有配置。
  3. 使用某种工具,从两个给定的 API 和 DynamoDB 自动进行比较和更新。还没有找到这个。
  4. 构建我自己的 Nodejs 应用程序,该应用程序将利用aws-cli进行比较和更新。然后将其托管在Lamda上,并通过对 React 应用程序存储库(代码提交>代码构建>代码部署(的stagingmaster分支的推送触发。这就是我现在要去的地方,但可能有一个现有的解决方案。

还有其他想法吗?让我知道!

使用 CloudFormation 对您的 API 进行建模。然后,您可以将 API 配置、解析程序和数据源(不含数据(作为代码进行维护,并在各个阶段运行该模板。

为了简化 CloudFormation 的创建,您可以使用 AWS Amplify CLI 定义 GraphQL 架构,该架构将为您自动生成解析器。

看看这个: https://github.com/sid88in/serverless-appsync-plugin

无服务器应用程序同步插件使您的生活更轻松。它应该具有比设置自己的Cloudformation更容易的配置。

最新更新