我已使用模式和解析器设置了AppSync。我可以将模式导出到文件,但是看不到如何导出解析器。
我想将它们存储在文件中,以便对它们进行源控制。它们包含大量我不想丢失的SQL代码。
答案 0 :(得分:5)
在继续之前,我建议您研究使用CloudFormation管理AppSync资源。 CloudFormation模板可以轻松保存在源代码管理中。
AppSync和CloudFormation教程:
https://read.acloud.guru/deploy-a-graphql-service-on-aws-with-the-serverless-framework-7af8fc22a01d
https://read.acloud.guru/deploy-an-aws-appsync-graphql-api-with-amazon-cloudformation-9a783fdd8491
或者,如果您的解析器未执行任何自定义操作,则可以使用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