人生に迷子の30代エンジニアが奮闘するブログ

人生に迷子の30代が自分生き方について真剣に考え試行錯誤するさまを記載したブログです。

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に基づいたレスポンスのフィルタリング