# AppSync AppSync is a fully managed [[GraphQL|GraphQL]] service. Notes: - It can support real-time [[API]]s via GraphQL subscriptions. - AppSync supports custom domains - AppSync has a query editor built into the UI ## Resolvers Resolvers attached to specific fields within your types in your schema. used to implement the state-changing operations for your query, mutation, and subscription field operations. Runtimes: - **`APPSYNC_JS`**: JavaScript - **VTL**: Velocity Template Language. ## Data Sources Where data is being pulled from. - DynamoDB Table - Amazon OpenSearch - AWS [[_Lambda|Lambda Function]] - [[HTTP]] Endpoint - Amazon EventBridge - Relational Database (RDS HTTP Endpoint) ## API Types - **GraphQL APIs** - single API from multiple data sources - **Merged APIs** - a collection of Graph APIs that act as one API - Useful if you have multiple teams that manage their own API but you want to treat all the APIs as a single API. ## Caching Options - **None**: Self explanatory; no caching, resolvers will always fetch from data sources. - **Full request caching**: Self explanatory; caches all requests. - **Per-resolver caching**: specific operation or field defined in a resolver will return responses from the cache. Caching isn't serverless; you must provision an on-demand instance. # Authorisation - API Key - AWS IAM - Cognito User Pools