如何使用 Amplify CLI“拉取”命令拉取在 AppSync Web 控制台上所做的更改
Posted
技术标签:
【中文标题】如何使用 Amplify CLI“拉取”命令拉取在 AppSync Web 控制台上所做的更改【英文标题】:How can I pull changes made on the AppSync web-console with the Amplify CLI "pull" command 【发布时间】:2020-06-22 19:20:47 【问题描述】:我想要完成的事情: 我在 AppSync Web 控制台上编辑了一个放大 + AppSync 项目,我想将它拉到我的本地机器上。
我做了什么:
我通过执行三个命令使用 Amplify CLI 初始化了一个放大项目:
amplify init
amplify add api
amplify push
(添加的api是GraphQL)
接下来,我在 AppSync Web 控制台上编辑了一些自动生成的 GraphQL 解析器。 (我已经使用客户端应用程序测试了编辑后的解析器 -> 他们工作)
然而,当我在 Amplify CLI 中执行拉取操作时:
amplify pull
它只提取在最后一个 Amplify CLI 推送命令之前对本地文件所做的更改,
因此,Amplify CLI 拉取命令不会考虑对 AppSync Web 控制台所做的任何更改。
问题:
-
这是预期行为吗?
是否可以在 Amplify CLI 拉取命令中包含对 Web 控制台所做的更改? (尤其是更改的解析器)
版本:
放大 cli:4.13.3
我发现的其他可能有用的东西:
AWS-CloudFormation 也仅在使用 Amplify CLI 进行更改时显示更新。
保存放大项目文件的 AWS-S3 存储桶也仅反映使用 Amplify CLI 推送的更改。
【问题讨论】:
【参考方案1】:您可以手动执行此操作,方法是从控制台下载架构文件并替换 /amplify/backend/api/schema.graphql 然后运行 amplify push
。
这里有一个问题可以自动执行:https://github.com/aws-amplify/amplify-cli/issues/1220
【讨论】:
感谢您的回答!不幸的是,我的主要兴趣是从 Web 控制台中提取多个已编辑的解析器。这也可以手动完成,但如果没有自动化将非常耗时。(我编辑了问题,所以现在更清楚了)所以我想你的解决方法是我们现在唯一的解决方案。直到 AWS 团队在 cli pull 命令中包含 Web 控制台更改。 @ThinkingBoutCode 您是否能够使用 amplify-cli 或任何其他方式提取更新的解析器?我也面临同样的问题。以上是关于如何使用 Amplify CLI“拉取”命令拉取在 AppSync Web 控制台上所做的更改的主要内容,如果未能解决你的问题,请参考以下文章