如何导出AWS AppSync解析器?

时间:2018-11-15 04:08:50

标签: amazon-web-services graphql aws-appsync

我已使用模式和解析器设置了AppSync。我可以将模式导出到文件,但是看不到如何导出解析器。

我想将它们存储在文件中,以便对它们进行源控制。它们包含大量我不想丢失的SQL代码。

4 个答案:

答案 0 :(得分:5)

在继续之前,我建议您研究使用CloudFormation管理AppSync资源。 CloudFormation模板可以轻松保存在源代码管理中。

AppSync和CloudFormation教程:

或者,如果您的解析器未执行任何自定义操作,则可以使用Amplify的GraphQL变压器。这使您可以注释架构,它将自动从注释生成解析器。然后,您可以将带注释的架构放入源代码管理中。文档:

https://aws-amplify.github.io/docs/js/api#using-graphql-transformers

答案 1 :(得分:3)

关于AWS的好处是,可能有一个API端点来满足您的需求。

在这种情况下,您可以通过ListResolvers API端点访问解析器列表,也可以通过GetResolver API端点检索特定的解析器。

答案 2 :(得分:3)

为此专门制作了一个node.js软件包: export-appsync。 但是从长远来看,从无服务器框架(serverless.com),cloudformation或AWS Amplify框架对源代码进行控制和解决您的工作将更加容易。

答案 3 :(得分:1)

命令模板: TYPE_NAME 值:变异、查询和订阅。

aws appsync list-resolvers --api-id YOUR_API_ID --type-name TYPE_NAME >> YOUR_FILE.txt

示例: 使用 YOUR_API_ID = d5gebysm3(在我的情况下,原始长度为 26)

aws appsync list-resolvers --api-id d5gebysm3 --type-name Mutation >> Mutation.txt
aws appsync list-resolvers --api-id d5gebysm3 --type-name Query >> Query.txt
aws appsync list-resolvers --api-id d5gebysm3 --type-name Subscription >> Subscription.txt