AWS AppSync に関するMEMO
AWS AppSyncに関するMEMOをいかに記載する。
AWS AppSyncとは、GraphQLのマネージドサービス。
上記の内容を理解するために、先ずGraphQLとは何かを知る必要がある。
### GraphQLとは
REST-APIに変わる新しい技術として登場した OSS QUERY言語である。
定義に従いQUERYを書き、サーバーからJSON形式で情報を取得する。
処理形態はシンプルで、取得(Query)・変更(Mutation)・購読(Subscription)の3つで構成されている。
・GraphQL登場までの変遷
HTMLによる静的Websiteの表示 ⇨ RESTful APIによるクラスプラットフォームの動的なコンテンツ表示 ⇨ Facebookが公開
RESTを置き換えるのではなく、RESTを保管する目的でGraphQLが登場
・登場した理由
RESTAPIの管理・運用が煩雑。
サーバーとの接続がRequest/Respnseの形になってしまう問題。
・メリット
インターフェースがクリーンになる
サブスクリプションをしようしたリアルタイム処理
・型指定されたスキーマ
APIドキュメントを作成するのではなく、スキーマ定義からドキュメントが生成
### AWS AppSyncとは
・GraphQLのマネージドサービス
・アカウントのDataSourceに接続
・データ同期/リアルタイム接続が可能
・DyanamoDBとか色々なデータソースを指定可能
・こんなアプリ開発の時に使おう
リアルタイム処理が必須
複数ユーザーの同時に利用するアプリ(コラボレーション)
データソースとAppSyncの接続はResolversというもので行われる。
・Resolverマッピングテンプレート
GraphQLのリクエストをデータソースへの命令に変換するためのテンプレート
何をするか
アクセスコオトロール
権限チェック
ユーザーIDに基づいたレスポンスのフィルタリング