Q:AWS AppSync では、どのアプリケーション開発言語がサポートされていますか?

AWS AppSync SDK では iOS、Android、JavaScript がサポートされています。JavaScript のサポート範囲には、React や Angular などのウェブフレームワーク、および React Native や Ionic といったテクノロジーが含まれます。また、AppSync GraphQL エンドポイントへの接続にオープンソースクライアントを使用して、一般的な HTTP ライブラリやシンプルな CURL コマンドなど、その他のプラットフォームも利用できます。

Q:GraphQL とは何ですか? 

GraphQL は、サーバーからのデータに対して、クライアントによるフェッチ、変更、サブスクライブを可能にするデータ言語です。GraphQL クエリでは、サーバーから返されたデータをどのように構造化するかをクライアントが指定します。これによって、クライアントは必要なデータのみを必要なフォーマットでクエリできます。

Q:GraphQL スキーマとは何ですか? 

A: GraphQL スキーマは、どのようなデータ機能をクライアントアプリケーションに対して実行可能にするかを定義します。例えば、スキーマは、どのクエリが利用可能か、アプリケーションがデータをどのようにサブスクライブできるかについて、基盤となるデータソースについて知ることなく指定します。スキーマはアプリケーションのデータモデルから利用できるタイプシステムによって定義されます。

Q:開始にあたり GraphQL について知っておく必要はありますか? 

いいえ、AWS AppSync は自動的にすべての API、スキーマをセットアップし、データソースを数秒でデータモデルに入力できるシンプルな UI ビルダーに接続します。クライアントアプリケーションで、すぐにエンドポイントの使用を開始できます。コンソールは、アプリケーションが完全に機能するよう、多数のサンプルスキーマとデータソースも提供しています。

Q:AWS AppSync は既存の AWS リソースと併用できますか? 

はい。AWS AppSync では GraphQL スキーマを使用して、Amazon DynamoDB、AWS Lambda、Amazon OpenSearch Service の既存のテーブル、関数、ドメインを使用できます。AWS AppSync なら、既存の AWS リソースを使ってデータソースを作成し、マッピングテンプレートを使用して相互作用を設定できます。

Q:マッピングテンプレートとは何ですか? 

GraphQL リクエストは「リゾルバ」として実行されるため、メッセージ形式は、AWS AppSync と統合するさまざまな AWS のサービスに適した形に変換する必要があります。例えば、あるフィールドの GraphQL クエリは、Amazon DynamoDB、AWS Lambda、Amazon OpenSearch Service 向けにそれぞれ固有の形式に変換する必要があります。AWS AppSync にはこのためのマッピングテンプレートが用意されています。テンプレートは Apache Velocity Template Language (VTL) で記述され、必要に応じてカスタムロジックを提供することができます。より使用しやすくするために、AWS AppSync にはさまざまなサービス用の組み込みテンプレートとユーティリティ関数も用意されています。

Q:VTL マッピングテンプレートの動作を確認する方法は?

VTL マッピングテンプレートの動作は、コンソールから直接確認することができます。コンソールからは、モックデータを使用して、データソースとやりとりすることなく、リゾルバマッピングテンプレートの評価をテストすることができます。また、AppSync はモックデータを使用してマッピングテンプレートを評価するためのリモート API を提供しています。この API は AWS CLI や AWS SDK から利用することができます。これにより、お気に入りのテストフレームワーク内でマッピングテンプレートを評価し、ユニットテストを実行することができます。また、コンソールのクエリエディタを使用して、GraphQL クエリ、ミューテーション、サブスクリプションをテストし、各リクエストのログデータをリアルタイムでライブストリーミングすることができます。

Q:  VTL を使用したくありません。必須ですか?

いいえ、リゾルバを Direct Lambda リゾルバとして設定することができます。これにより、VTL マッピングテンプレートを回避し、アカウント内の Lambda を使用してビジネスロジックを駆動することができます。

Q:AWS AppSync ではデータがどのように保護されますか? 

保管中のアプリケーションデータはお客様の AWS アカウントに保存され、AWS AppSync サービス内には保存されません。AWS AppSync では、AWS Identity and Access Management (IAM) や Amazon Cognito ユーザープールなどを使用したセキュリティコントロールによって、アプリケーションからこのデータへのアクセスを保護できます。さらに、認証されたリクエスト用にユーザーコンテキストを引き渡すことができるため、AWS AppSync のマッピングテンプレートを使用して、リソースに対するきめ細かなアクセスコントロールロジックを実行できます。

Q:AWS AppSync ではデータをリアルタイムで作成できますか?

はい。AWS AppSync では、どのようなデータソースについてもサブスクリプションがサポートされているため、突然の変化が発生したときは、over WebSockets を使用して、イベントストリームをサブスクライブしているクライアントにその結果をすぐに引き継ぐことができます。

Q:AWS AppSync で複雑なクエリを実行するにはどうすればよいですか? 

AWS AppSync で利用できるデータソースでは、GraphQL を使用することで、Amazon DynamoDB、Amazon OpenSearch Service、AWS Lambda によって提供される機能を最大限活用できます。インデックス作成や条件チェックといった機能とマッピングテンプレートによって、DynamoDB から包括的な結果が返されます。あいまい検索、位置情報検索などの Amazon OpenSearch Service のユースケースもアプリケーションで利用できます。さらに、Lambda を使用した連続的なリクエストやバッチリクエストによって、Amazon Aurora などの他のソースからもデータを返すことができます。

Q:AWS AppSync はどの AWS リージョンで利用できますか?

AWS AppSync は世界の様々なリージョンでご利用いただけます。詳細については、AWS リージョン表をご覧ください。

Q:既存の Amazon DynamoDB テーブルをインポートできますか? 

AWS AppSync では、テーブルのキースキーマとインデックスの推論を含む既存の DynamoDB テーブルから GraphQL スキーマを自動で生成できます。インポートが完了すると、GraphQL クエリ、ミューテーション、サブスクリプションを使用できます。コーディングは不要です。また AppSync は、GraphQL タイプから DynamoDB 属性に、非キー属性を「オートマップ」します。

Q:AWS AppSync でデータベースを作成できますか? 

お客様は手動で、またはコンソールを使用して GraphQL スキーマを作成できます。AWS AppSync では、自動的に Amazon DynamoDB テーブルをプロビジョニングし、適切なインデックスを付与します。さらに、データソースが「GraphQL リゾルバ」に接続されるため、お客様はアプリケーションコードとデータ構造に集中して作業できます。

Q:アプリケーションを AppSync API に接続するためにどのクライアントを使用できますか?

HTTP または GraphQL クライアントを使用して、AppSync の GraphQL API に接続できます。AppSync バックエンドに接続するために最適化された Amplify クライアントを使用することを強くお勧めします。アプリケーションのユースケースに応じて、いくつかのオプションがあります。

  • DynamoDB データソースの場合、Amplify クライアントの DataStore カテゴリを使用します。最高の開発者体験および組み込みの競合検出と解決を提供します。
  • オフライン要件がないシナリオの非 DynamoDB データソースの場合、Amplify クライアントの API (GraphQL) カテゴリを使用します。
  • オフライン要件があるシナリオの非 DynamoDB データソースの場合は、AppSync SDK を使用します。

Q:自分の AppSync GraphQL エンドポイントにアクセスするために独自のドメイン名を使用できますか?

AWS AppSync では、お客様が AWS AppSync API でカスタムドメイン名を使用して、GraphQl エンドポイントとリアルタイムエンドポイントにアクセスすることができます。AppSync でカスタムドメイン名を作成するには、所有するドメイン名を提供し、ドメインをカバーする有効な AWS Certificate Manager (ACM) 証明書を示すだけです。カスタムドメイン名を作成すると、アカウントで利用可能な AppSync API にドメイン名を関連付けることができます。AppSync が提供するドメイン名にマッピングするように DNS レコードを更新した後、新しい GraphQL エンドポイントとリアルタイムエンドポイントを使用するようにアプリケーションを設定することができます。アプリケーションを更新しなくても、カスタムドメインの API アソシエーションをいつでも変更できます。AppSync がカスタムドメインエンドポイントでリクエストを受信すると、関連する API にルーティングして処理します。

AWS AppSync のお客様の詳細

カスタマーページを見る
始める準備はできましたか?
AWS AppSync コンソールを開く
ご不明な点がおありですか?
お問い合わせ