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