AWS AppSync is a MBaaS platform designed to speed up application development by removing the server-side backend development process. The service exposes a GraphQL (Private) interface for schema definition and querying.
- APIs are the root of the configuration.
- Fields are typed attributes associated with a model. They can be "lists", avoiding associative tables, and can be marked as required.
- Resolvers are routines that resolve merge conflicts between different variations of an entity.
- Data Sources define where the entity data is stored.
- Functions are individual operations that run against a data source.
- Queries define interfaces into the data.
Schema is defined in GraphQL SDL.
AppSync supports five different authentication methods:
API_KEYfor API keys.
AWS_LAMBDAfor a Lambda function.
AWS_IAMfor IAM permissions.
OPENID_CONNECTwhen bringing your own OpenID Connect provider.
AMAZON_COGNITO_USER_POOLSfor Cognito user pools.
When using the wizard only DynamoDB tables can be created from the schema, though the service can be configured to use a range of data sources:
- NoSQL databases.
- Relational databases.
- Any HTTP API.
- Lambda functions for anything else.
For an additional cost (not included in the free tier), caching can improve GraphQL query performance:
- None forces resolvers to query their data sources directly.
- Full-request caching causes all requests from the same client to be cached, with all API calls receiving cached responses.
- Per-resolver caching allows individual resolvers to configure their own caching rules on a per-operation or field basis.
Logs and Metrics are submitted to CloudWatch.