AppSync
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.
Concepts
- 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
Schema is defined in GraphQL SDL.
Authentication
AppSync supports five different authentication methods:
API_KEY
for API keys.AWS_LAMBDA
for a Lambda function.AWS_IAM
for IAM permissions.OPENID_CONNECT
when bringing your own OpenID Connect provider.AMAZON_COGNITO_USER_POOLS
for Cognito user pools.
Data sources
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.
Caching
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.
Monitoring
Logs and Metrics are submitted to CloudWatch.
Backlinks