如何使用 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 控制台上所做的更改的主要内容,如果未能解决你的问题,请参考以下文章

Git操作命令

更新拉取请求(添加提交)[重复]

GCP PubSub:Python 中的同步拉取订阅者?

如何在自定义解析器 AWS Amplify CLI 中查询 API?

Git如何从远程拉取最新代码,并与本地代

如何从命令行创建TFS拉取请求