翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データソース
前のセクションでは、スキーマがデータの形状を定義することを学びました。ただし、そのデータがどこから来たのかについては説明していません。実際のプロジェクトでは、スキーマはサーバーへのすべてのリクエストを処理するゲートウェイのようなものです。リクエストが行われると、スキーマはクライアントと接続する単一のエンドポイントとして機能します。スキーマはデータソースのデータにアクセスして処理し、クライアントに中継します。以下のインフォグラフィックを参照してください。

AWS AppSync および GraphQL はフロントエンド用バックエンド (BFF) ソリューションを見事に実装しています。これらは連携して、バックエンドを抽象化することで大規模な複雑さを軽減します。サービスで異なるデータソースやマイクロサービスを使用している場合は、各ソース (サブグラフ) のデータの形状を単一のスキーマ (スーパーグラフ) で定義することで、複雑さをある程度抽象化できます。つまり、GraphQL API は 1 つのデータソースの使用に限定されないということです。GraphQL API には任意の数のデータソースを関連付けて、それらがサービスとどのように相互作用するかをコードで指定できます。
インフォグラフィックでわかるように、GraphQL スキーマには、クライアントがデータを要求するために必要なすべての情報が含まれています。つまり、REST のように複数のリクエストを処理するのではなく、1 つのリクエストですべてを処理できるということです。これらのリクエストは、サービスの唯一のエンドポイントであるスキーマを通過します。リクエストが処理されると、リゾルバー (次のセクションで説明) がコードを実行して、関連するデータソースからのデータを処理します。レスポンスが返されると、データソースに関連付けられているサブグラフにスキーマ内のデータが入力されます。
AWS AppSync はさまざまなデータソースタイプをサポートします。以下の表では、各タイプについて説明し、それぞれの利点を列挙し、さらに詳しい情報を得るために役立つリンクを示します。
データソース | 説明 | 利点 | 補足情報 |
---|---|---|---|
Amazon DynamoDB | Amazon DynamoDB は、フルマネージド NoSQL データベースサービスであり、シームレスなスケーラビリティを備えた高速で予測可能なパフォーマンスを提供します。DynamoDB を使用すると、ディストリビューションデータベースの運用とスケーリングに伴う管理作業をまかせることができるため、ハードウェアのプロビジョニング、設定と構成、レプリケーション、ソフトウェアパッチ適用、クラスタースケーリングなどを自分で行う必要はなくなります。また、DynamoDB も保管時の暗号化を提供し、機密データの保護における負担と複雑な作業を解消します。 |
|
|
AWS Lambda | 「AWS Lambda は、サーバーをプロビジョニングまたは管理せずにコードを実行できるようにするコンピューティングサービスです。 Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースに関するすべての管理を行います。これには、サーバーおよびオペレーティングシステムのメンテナンス、容量のプロビジョニングおよび自動スケーリング、さらにログ記録などが含まれます。Lambda で必要なことは、サポートするいずれかの言語ランタイムにコードを与えることだけです。」 |
|
|
OpenSearch | 「Amazon OpenSearch Service は、AWS クラウドにおける OpenSearch クラスターのデプロイ、オペレーション、スケーリングを容易にするマネージドサービスです。Amazon OpenSearch Service は、OpenSearch および従来の Elasticsearch OSS (ソフトウェアのファイナルオープンソースバージョンである 7.10 まで) をサポートしています。クラスターを作成するときに、どの検索エンジンを使用するかのオプションがあります。 OpenSearch はログ分析、リアルタイムのアプリケーションモニタリング、クリックストリーム分析などのユースケース向けの、完全なオープンソースの検索および分析エンジンです。詳細については、「OpenSearch ドキュメント Amazon OpenSearch Service は、OpenSearch クラスターのすべてのリソースをプロビジョニングして、OpenSearch クラスターを起動します。また、障害が発生した OpenSearch Service ノードを自動的に検出して置き換え、セルフマネージドインフラストラクチャに関連するオーバーヘッドを減らします。また、単一の API コールを使用するか、コンソールで数回クリックするだけで、クラスターを簡単にスケーリングできます。 |
|
|
HTTP エンドポイント | HTTP エンドポイントをデータソースとして使用できます。AWSAppSync は、パラメータやペイロードなどの関連情報を含むリクエストをエンドポイントに送信できます。HTTP レスポンスはリゾルバーに公開され、リゾルバーは操作終了後に最終レスポンスを返します。 |
|
|
Amazon EventBridge | EventBridge は、イベントを使用してアプリケーションコンポーネント同士を接続するサーバーレスサービスです。これにより、スケーラブルなイベント駆動型アプリケーションを簡単に構築できます。これを使用して、自社開発アプリケーション、AWS サービス、サードパーティソフトウェアなどのソースから組織全体のコンシューマアプリケーションにイベントをルーティングできます。EventBridge では、イベントの取り込み、フィルタリング、変換、配信をシンプルかつ一貫性のある方法で行うことができるため、新しいアプリケーションをすばやく構築できます。 |
|
|
リレーショナルデータベース | 「Amazon Relational Database Service (Amazon RDS) は、AWS クラウドでリレーショナルデータベースを簡単にセットアップ、および運用し、スケーリングすることのできるウェブサービスです。業界スタンダードのリレーショナルデータベース向けに、費用対効果に優れたエクステンションを備え、一般的なデータベース管理タスクを管理します。」 |
|
|
none データソース | データソースサービスを使用する予定がない場合は、none に設定できます。none データソースは、設定後も明示的にデータソースとして分類されますが、ストレージメディアではありません。とはいえ、データ操作やパススルーには依然として役立つ場合があります。 |
|
ヒント
データソースと AWS AppSync の相互作用の詳細については、「データソースのアタッチ」を参照してください。