Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to develop and test AWS AppSync

We have decided that AppSync would be an excellent tool for our React Native app development. However, the problem is the scalability in development. Looking through Google entire day to find a way to do AppSync development offline so that anyone can freely create APIs and merge them, I realized that there is no such solution.

So how do large teams develop native apps using AppSync? Do you create AppSync app for every developer you have so that each person can change their own API freely then some how merge that back into production AppSync app?

I really wish there were a way to develop APIs locally and use git to merge them and upload the code directly to AppSync. As far as I know this is not possible but if you do know of a way or a different way, please let me know.

like image 738
forJ Avatar asked Jul 07 '18 05:07

forJ


People also ask

How do I test AWS AppSync?

Testing ResolversIn the AWS AppSync console, go to the Schema page, and choose an existing resolver on the right to edit it. Or, choose Attach to add a new resolver. At the top of the page, choose Select test context, choose Create new context, and then enter a name.

How does AWS AppSync work?

AWS AppSync is a serverless GraphQL and Pub/Sub API service that simplifies building modern web and mobile applications. AWS AppSync GraphQL APIs simplify application development by providing a single endpoint to securely query or update data from multiple databases, microservices, and APIs.

How do I run a query in AppSync?

In the AWS AppSync console choose the Queries tab on the left hand side. The pane on the right side enables you to click through the operations, including queries, mutations, and subscriptions that your schema has exposed. Choose the Mutation node to see a mutation.


2 Answers

You can source control the entire AWS AppSync configuration including the endpoint, schema, resolvers, data sources, and any other AWS resources with AWS CloudFormation. Adrian's article walks thru the entire process. The ChatQL sample on GitHub contains a CloudFormation document and GraphQL schema that you can also use as a reference.

Once you've modeled AppSync and resources with CloudFormation, you can easily replicate your environment as many times as you want. Hence, you can either set up separate endpoints per developer or use a shared endpoint. I prefer the former since it provides isolation between developers.

like image 180
Rohan Deshpande Avatar answered Sep 28 '22 03:09

Rohan Deshpande


You can also use the serverless framework to manage your AppSync endpoints with this plugin: https://github.com/sid88in/serverless-appsync-plugin

It also states, that it supports an offline mode for local development. Although, I didn't test it yet. But this can come in handy, when you want to pre-test your AppSync in a CI/CD environment.

like image 42
sebastian Avatar answered Sep 28 '22 02:09

sebastian