主な特徴

GraphQL

シンプルになったデータアクセスとクエリ

AWS AppSync では、サーバーにあるデータのフェッチ、変更、サブスクライブをクライアントアプリケーションから実行できるデータ言語、GraphQL が使用されます。GraphQL クエリでは、サーバーから返されたデータをどのように構造化するかをクライアントが指定します。これによって、クライアントは必要なデータのみを必要なフォーマットでクエリできます。GraphQL には "自己観察" という機能があり、バックエンドの知識がなくても、プロジェクトの新しい開発者は利用可能なデータを見つけることができます。

リアルタイムのデータアクセスと更新

クライアントとデバイス両方での即時更新

AWS AppSync では、GraphQL サブスクリプションを使用して、データのどの部分をリアルタイムで利用可能にするかを指定できます。GraphQL サブスクリプションはアプリケーションコードに含まれるシンプルなステートメントで、サービスに対してどのデータをリアルタイムで更新するかを指示します。

オフラインデータ同期

オフラインでもデータの操作や更新が可能

AWS AppSync ではオフラインプログラミングモデルがサポートされているため、ユーザーはアプリケーションデータをオフラインでも利用でき、データの追加や更新も実行できます。デバイスがオフラインのとき、アプリケーション UI はオフラインデータによって自動的に更新されます。AppSync では、オフライン時のデータキャッシュ方法や、さまざまなネットワーク条件でのキャッシュ更新の管理方法を指定することが可能です。

アプリケーション内でのデータのクエリ、フィルタリング、検索

AWS データソースへの事前設定済みアクセス

AWS AppSync を使用することで、クライアントアプリケーションはデータ要件を GraphQL によって指定できるため、必要なデータのみがフェッチされ、サーバー側とクライアント側両方でのフィルタリングが可能です。AWS AppSync では AWS Lambda、Amazon DynamoDB、Amazon Elasticsearch がサポートされているため、GraphQL のオペレーションとして、簡単な検索、複雑なクエリやマッピング、テキストの全文検索、あいまい検索やキーワード検索、位置情報検索などが考えられます。

エンタープライズセキュリティときめ細かなアクセスコントロール

データの制御

AWS AppSync では、アプリケーションのニーズに応じて、データアクセスと許可にいくつかのレベルを設定できます。シンプルなアクセスはキーによって保護できます。AWS Identity and Access Management のロールを使えば、アクセス許可をさらに制限できます。加えて、AWS AppSync はメールとパスワードの機能について Amazon Cognito のユーザープールと統合されており、ソーシャルプロバイダー (Facebook、Google+、Login with Amazon) や、SAML によるエンタープライズフェデレーションとも統合されています。ユーザーとロールの論理的構成にはグループ機能、アプリケーションアクセスには OAuth 機能も使用できます。

よくある質問

  • Q: AWS AppSync とは何ですか?

    AWS AppSync は、複数のデバイスやユーザーが使用するモバイルアプリケーションのデータを、開発者がリアルタイムで管理および同期できるようにする新しいサービスで、モバイルデバイスがオフライン状態でもデータへのアクセスや変更が可能です。

    さらにこのサービスでは、GraphQL というクエリ言語を使用し、変更発生時に各ユーザーのデバイスでどのデータを自動的に同期するかを選択することで、開発者はユーザーエクスペリエンスを最適化し、ストレージと帯域幅の要件を最小限に抑えることができます。

    開発者はこれらの機能を活用して、リアルタイムのコラボレーション環境を数分で構築できます。この環境には、ブラウザ、モバイルアプリケーション、Alexa スキル、およびネットワーク接続が失われた場合でも使用できる IoT デバイスが含まれます。

  • Q: 本日発表された機能を使用すると、どのようなアプリケーションを構築できるのですか?

    AWS AppSync を使用して、ユーザーおよびアプリケーションデータのデバイス間同期、接続切断時の動作継続、リアルタイムのコラボレーション環境といった特長を生かしたモバイルアプリケーションを構築できます。これにはあらゆる業種のアプリケーションが含まれます。以下に例を示します。

    • リアルタイムスコアボードを使用したゲームアプリケーション
    • ニュースフィードと金融データ
    • カスタマーサービスのダッシュボード
    • 共有ウォレット、オフライン使用による旅行日程トラッキング
    • コンテンツフィードと、検索、検知、メッセージングを使用したソーシャルメディア
    • 「いいね」、メッセージング、位置や近接情報を使用したデートアプリケーション
    • 接続切断時にも使用できる、クエリと CRUD 操作が必要な現場サービス向けアプリケーション
    • ドキュメントコラボレーション
    • 共有ホワイトボードなどの 3D コラボレーション
    • 複数アクターを使用した AR/バーチャルリアリティ (手術中の医師とオブザーバー、教師と生徒)
    • オフラインで動作し、最終的に同一の整合性を反映する必要があるマルチデバイスアプリケーション (Alexa、モバイル、ウェブ、IoT など) およびマルチモーダルアプリケーション (タスクリストなど)
    • 在席表示や会話履歴機能を持つチャットアプリケーション
  • Q: AWS AppSync では、どのアプリケーション開発言語がサポートされていますか?

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

  • Q: GraphQL とは何ですか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    AWS AppSync は、米国東部 (バージニア北部)、米国西部 (オレゴン)、米国東部 (オハイオ) の各リージョンで利用できます。

AWS AppSync 料金の詳細

料金ページを見る
始める準備はできましたか?
プレビューにサインアップ
ご不明な点がおありですか?
お問い合わせ