はじめに
AWS AppSyncは、GraphQLを使用してアプリケーションのバックエンドを構築するためのマネージドサービスです。
この記事では、AppSyncを使用してGraphQL APIを作成し、DynamoDBと連携させる基本的な手順及び簡単なGraphQLの使用例について紹介します。
AppSync、GraphQL API、DynamoDBの作成
下記のドキュメントに従ってAppSyncとDynamoDBを作成します。
まずAppSyncからAPIを作成を選択します。
ステップ1におけるAPIタイプはGraphQL APIs、データソースはDesign from scratchを選択します。
ステップ2でAPIに適切な名前を入力した後、GraphQLのタイプでは「DynamoDBテーブルを使用するタイプを今すぐ作成」を選択します。
AWS公式に従ってモデルとフィールドを設定します。
最後にTodoAPITable
などのテーブル名を入力し、プライマリキーをid
に設定してAPIを作成します。
上記のように作成するとDynamoDBが自動で作成されます。
GraphQLクエリの実行
AppSync→クエリからGraphQLクエリの実行ができます。
データの作成(Mutation)
まずTodoAPITable
にデータを追加するために、createTodo
を実行します。
GraphQLクエリ及び実行結果は以下です。
データの取得(Query)
次にデータが追加されているかを確認するためにlistTodos
を実行します。
GraphQLクエリ及び実行結果は以下です。
実際にDynamoDBのログを見てみると、読み取りと書き込み処理が実行されていることがわかります。
GraphQLの柔軟性
GraphQLの特徴を活かし、id
とname
のみを指定してcreateTodo
を実行できます。
この場合、それ以外のフィールドはnull埋めされます。
またlistTodo
で特定のフィールド(ex.name
)の読み込みも可能です。
余談ですが、モニタリングからAPIメトリクス(エラー、リクエスト総数、レイテンシー)の確認が可能です。
おわりに
AWS AppSyncを使用してGraphQL APIを素早く構築し、DynamoDBと連携させる方法を紹介しました。
主なポイントは以下の通りです.
- AppSyncを使用したGraphQL APIの簡単な設定
- DynamoDBとの自動連携
- GraphQLクエリの基本的な使用方法
- GraphQLの柔軟性(部分的なデータ作成と取得)
AppSyncとGraphQLを使用することで、柔軟で拡張性の高いAPIを簡単に構築できます。
参考になれば幸いです。