GraphQL API の設計 - AWS AppSync

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GraphQL API の設計

GraphQL API を構築している場合は、スキーマ設計やデータソースに接続する方法など、知っておく必要がある概念があります。

このセクションでは、スキーマをゼロから構築してリソースを自動的にプロビジョニングし、データソースを手動で定義して GraphQL リゾルバーを使用してデータソースに接続する方法について説明します。AWSAppSync も既存の Amazon DynamoDB テーブルが存在する場合、スキーマとリゾルバーをゼロから構築するまたは既存のスキーマの有無にかかわらずバックエンド全体をビルドする。さらに、AWSAppSync には、ガイド付きスキーマ作成ウィザードそれは初めて使用する場合にお勧めします GraphQL またはAWSAppSync ユーザー。

GraphQL スキーマ

各 GraphQL API は単一の GraphQL スキーマで定義されます。GraphQL タイプシステムは、GraphQL サーバーの機能を記述し、クエリが有効であることを判別するために使用されます。サーバーのタイプシステムは、そのサーバーのスキーマと呼ばれます。これは、オブジェクトタイプ、スカラー、入力タイプ、インターフェイス、列挙、ユニオンのセットで構成されます。API および実行可能なオペレーションも通過するデータの形状を定義します。GraphQL は厳密に型指定されたプロトコルで、すべてのデータオペレーションはこのスキーマに対して検証されます。

データソース

データソースは、AWSGraphQL API がやり取りできるアカウント。AWSAppSync サポートAWS Lambda、Amazon DynamoDB、リレーショナルデータベース(Amazon Aurora Serverless)、Amazon OpenSearch Service、および HTTP エンドポイントをデータソースとして使用できます。

AnAWSAppSync API は、複数のデータソースを操作するように設定できます。これにより、単一の場所にデータを集約できます。AWSAppSync はAWSすでに存在するアカウントのリソース、またはスキーマ定義から、ユーザーに代わって DynamoDB テーブルをプロビジョニングできます。

リゾルバー

GraphQL リゾルバーは、タイプのスキーマのフィールドをデータソースに接続します。リゾルバーはリクエストを実行するメカニズムです。AWSAppSync はリゾルバを自動的に作成して接続するスキーマから、またはスキーマを作成し、既存のテーブルからリゾルバを接続するコードを書く必要がありません。

のリゾルバーはAWSAppSync で記述されたマッピングテンプレートを使用するApache Velocity Template Languageを使用して、GraphQL 表現をデータソースが使用できるフォーマットに変換します。

リゾルバーを記述するための入門者向けのチュートリアル形式プログラミングガイドは、リゾルバーのマッピングテンプレートプログラミングガイドおよびプログラミング時に使用できるヘルパーユーティリティはリゾルバーのマッピングテンプレートのコンテキストリファレンス。AWSAppSync には、最初から作成または編集するときに使用できるテストフローとデバッグフローが組み込まれています。詳細については、「リゾルバーのテストとデバッグ」を参照してください。