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

时间:2019-10-25 14:36:54

标签: android aws-amplify aws-appsync

我正在尝试使用Amplify CLI来配置AWS AppSync API并在Android应用程序中使用它。我将此站点用作参考:https://aws-amplify.github.io/docs/android/api#appsync-apis-created-using-the-cli

我当前的工作流程如下-

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

这是正确的工作流程吗?尤其是第4步,因为上面的文档链接没有讨论在模式修改(在项目的后端文件夹中)和推送之后如何在Android应用中查看新类型(已添加到模式)。使用CLI。

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

(我是初学者。TIA)

3 个答案:

答案 0 :(得分:1)

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

  1. The AppSync SDK
  2. The Amplify Library's API Category

第一个是围绕Apollo的旧式包装器。第二个是AWS团队支持的当前生产库。两者都与AppSync对话。

The link you cited重定向到Amplify API documentation。 Amplify CLI大约一年前进行了更新,以生成用于 API类别而不是AppSync SDK的代码。

如果您要使用AppSync SDK,我将遵循codeaddict的指导,并参考项目的README.md

如果要使用扩增库,请记下以 {Install Amplify Libraries 开头的不同说明。

答案 1 :(得分:0)

amplify codegen应该类似于auth,api等。您应该一次将它添加到您的放大器中。

我认为正是导致问题的步骤3的这一部分

  

生成并覆盖GraphQL语句?不

答案 2 :(得分:0)

如果您已经在AppSync控制台上测试了有效的AppSync API,而只想在Android App中使用它,则可以在Android项目的根目录中运行以下命令:

  1. 放大init
  2. 放大添加代码生成--apiId xxxxxx
  3. 放大代码源