AWS-Amplify-Appsync:使用CLI从Android应用程序更改云资源时,正确的工作流程是什么



我正在尝试使用Amplify CLI配置AWS AppSync API并在Android应用程序中使用它。我使用此网站作为参考:https://aws-amplify.github.io/docs/android/api#appsync-使用cli 创建的api

我目前的工作流程如下-

  1. 我创建了应用程序并添加了依赖项。我在根目录下安装了CLI,运行了amplify initamplify add api,然后按照步骤进行操作。我在后端api文件夹中键入了一个基本模式,并运行了amplify push。(带有-继续?是;更新代码?是;生成GraphQL语句?是(
  2. 接下来,我通过添加更多的属性、类型和解析器,在AWS AppSync控制台中进行了测试
  3. 一旦他们工作,我对项目的Amplify后端文件夹的模式进行了同样的更改;将所需的解析器粘贴到后端解析器文件夹中;并再次运行CCD_ 4。(继续?是;更新代码?是;生成并覆盖GraphQL语句?否;//这是因为我不希望覆盖任何现有的解析器和突变(
  4. 然后,我在应用程序的根文件夹中运行amplify codegen并构建我的应用程序//这是因为即使推送后在后台看到了更改,但除非我运行codegen,否则我无法在应用程序中找到新添加的类型。即文件-(MyApp\app\build\generated\source\appsync.com\amazonaws\amplify\generated\graphql\GetBooksQuery.java(仅在codegen之后可用

这是正确的工作流程吗?特别是第四步,因为上面的文档链接没有谈到如何在使用CLI时,在架构修改(在项目的后端文件夹中(和推送之后,在Android应用程序中查看新类型(已添加到架构中(。

如果这不正确,那么修改架构并在Android应用程序中查看效果的正确工作流是什么?

(我是初学者。TIA(

amplify codegen应该像auth、api等一样。你应该把它添加到你的放大中一次,而且只能添加一次。

我相信正是你步骤3的这一部分导致了问题

生成并覆盖GraphQL语句?无

有两种不同的产品需要注意:

  1. AppSync SDK
  2. Amplify库的API类别

第一个是围绕阿波罗的遗留包装。第二个是AWS团队正在支持的当前生产库。两人都与AppSync通话。

您引用的链接重定向到Amplify API文档。Amplify CLI大约在一年前更新,用于生成API类别的代码,而不是用于AppSync SDK的代码。

如果你想使用AppSync SDK,我会遵循代码成瘾者的指导,并参考该项目的README.md

如果您想使用Amplify Library,请注意从安装Amplify Libraries开始的不同说明。

如果您有一个在AppSync控制台上测试过的正在工作的AppSync API,您只想在Android应用程序中使用它,您可以在Android项目的根目录中运行这些命令:

  1. 放大初始化
  2. 放大添加编码源--apiId xxxxxx
  3. 放大编码源

最新更新