AppSyncとは
- AWSが提供するマネージドGraphQL gatewayサービス
- Graph QL:サーバー上にあるデータのフェッチ、変更、サブスクライブをクライアントアプリから実行できるデータ言語
主な特徴
- フルマネージド GraphQL サービス
-
リアルタイムデータアクセス/更新
- GraphQL サブスクリプションを利用し、クライアント側でどのデータをリアルタイムで更新するか指定できる。
-
オフラインデータ同期
- クライアントはアプリデータをオフラインで利用でき、データの登録/更新できる。
-
キャッシング
- 頻繁に変更されないデータをキャッシュして、パフォーマンスを向上させることができる。
-
複数データソースへのアクセス
- AWS Lambda、Amazon DynamoDB、Amazon Elasticsearch がサポートされている。
-
アクセス制御
- IAMロールやCognitoユーザープールと組み合わせたアクセス制御が可能。
概念とアーキテクチャー
-
AWS App Sync Client
- 認証、オフラインロジックなどを含んだクライアント
-
Resolver
- リクエスト / レスポンスの処理を記述する関数
- マッピングテンプレートによって、GraphQL リクエストをデータソースの命令に変換する⽅法と、データソースからの応答をGraphQLレスポンスに変換する⽅法を定義
- Resolver マッピングテンプレートは、VTL (Velocity Template Language)によって記述
-
Data Source
- DynamoDB
- Lambda
- Aurora Serverless
- Elasticsearch
- HTTP Endpoint
-
Schema
-
サーバ機能を記述し、クエリが 有効かどうかを判断する為に使⽤
-
GraphQL API は、SDL(Schema Definition Language)によって記述された1つのGraphQL Schema で定義される。
-
ユースケース
- リアルタイムでデータ更新を行うダッシュボードアプリケーション
- 複数ユーザーがコンテンツ(ドキュメント、画像、テキストメッセージ等)の共同編集を⾏うアプリケーション
- ソーシャルメディアやチャットなど複数ユーザー間でのメッセージング管理を行うアプリケーション
料金
無料枠(月) | 価格 | |
---|---|---|
クエリとデータ変更操作 | 250,000 件 | 4.00USD/クエリおよびデータ変更操作 100 万回 |
リアルタイム更新 | 250,000 件 | 2.00USD/リアルタイムアップデート 100 万回 |
リアルタイム更新 接続時間 | 600,000接続-分 | 0.08USD/100万分 |