AWS AppSync GraphQL API
Serverless GraphQL endpoint over multiple data sources with resolvers, subscriptions and optional server-side caching.
- Provider
- aws
- Kind
- API gateway
- Category
- Edge
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| apiKeyMaxDays | integer | — | no | 365 | inherited |
| auth | enum | none | api-key | jwt | oauth2 | mtls | no | none | inherited |
| authorizationMode | enum | api-key | aws-iam | amazon-cognito-user-pools | openid-connect | aws-lambda | no | — | inherited |
| cacheMaxTtlSeconds | integer | — | no | 3600 | inherited |
| concurrencyLimit | boolean | — | no | false | ▸ false |
| idempotencyKeys | boolean | — | no | false | ▸ false |
| instances | integer | — | no | — | inherited |
| keyTtlHours | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ true |
| protocol | enum | http | grpc | websocket | fix | ouch | no | http | ▸ http |
| rateLimiting | boolean | — | no | false | inherited |
| serverSideCaching | enum | none | full-request | per-resolver | operation-level | no | none | inherited |
| tls | boolean | — | no | true | ▸ true |
| visibility | enum | global | private | no | global | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
sync-chain-too-deep
Every consecutive synchronous hop from this entry point spends part of the stated p95 latency budget, and the chain's failures multiply. More than three hops is a budget nobody is tracking.
- — all of these hold:
- — the design requirement `latency.p95Ms` has a value
- — the longest chain of synchronous calls starting at the node is more than 3 hops long
nodes:
- { id: "appsync", component: "aws-appsync" }API Gatewayalibaba-api-gatewayAmazon API Gatewayaws-api-gatewayAzure API Managementazure-api-managementAI Gatewaycloudflare-ai-gatewayCloudflare API Shieldcloudflare-api-shieldMCP Server Portalcloudflare-mcp-portalCloudflare Privacy Gatewaycloudflare-privacy-gatewayGeneric API gatewayapi-gatewayApache APISIXapisixApollo GraphOSapollo-graphosEasegresseasegressEmissary-ingressemissaryEnvoy Gatewayenvoy-gatewayGloo GatewayglooHasurahasuraHelicone AI Gatewayhelicone-gatewayHigresshigressKong GatewaykongKong AI Gatewaykong-ai-gatewayKong Konnectkong-konnectKrakenDkrakendLiteLLM ProxylitellmMartian GatewaymartianNot Diamondnot-diamondPortkey AI GatewayportkeyRequestyrequestySpring Cloud Gatewayspring-cloud-gatewayTyk GatewaytykUnifyunify-aiVercel AI Gatewayvercel-ai-gatewayWSO2 API Managerwso2-api-managerZuulzuulApigeeapigeeAgent Gatewaygoogle-agent-gatewayAPI Gatewaygoogle-api-gatewayApigee hybridgoogle-apigee-hybridCloud Endpointsgoogle-cloud-endpointsFirebase Data Connectgoogle-firebase-data-connectIBM API Connectibm-api-connectOCI API Gatewayoci-api-gateway
# yaml-language-server: $schema=../../schema/component.schema.json # AWS AppSync GraphQL API: serverless GraphQL endpoint over one or more data sources, with a # WebSocket endpoint for subscriptions. "Configuring server-side caching" says caching behaviour is # None unless configured, caps cache TTL at 3,600 seconds and states cache encryption at rest and # in transit is always on; API keys are configurable for up to 365 days. schemaVersion: "1" type: "component" id: "aws-appsync" kind: "api-gateway" provider: "aws" docs: "https://docs.aws.amazon.com/appsync/latest/devguide/what-is-appsync.html" defaults: managed: true tls: true protocol: "http" idempotencyKeys: false concurrencyLimit: false properties: authorizationMode: type: "enum" values: ["api-key", "aws-iam", "amazon-cognito-user-pools", "openid-connect", "aws-lambda"] serverSideCaching: type: "enum" values: ["none", "full-request", "per-resolver", "operation-level"] default: "none" cacheMaxTtlSeconds: type: "integer" default: 3600 apiKeyMaxDays: type: "integer" default: 365 visibility: type: "enum" values: ["global", "private"] default: "global"