GraphQL クエリを使用して AWS AppSync コンソールの DynamoDB テーブルからデータを取得する - AWS AppSync

GraphQL クエリを使用して AWS AppSync コンソールの DynamoDB テーブルからデータを取得する

これで、データベースにレコードがあるので、クエリを実行すると結果が返されます。クエリは、GraphQL の他の基本的な操作の 1 つです。データソースから情報を解析して取得するために使用されます。REST API に関して言えば、これは GET 操作と似ています。GraphQL クエリの主な利点は、アプリケーションの正確なデータ要件を指定して、適切なタイミングで関連データを取得できることです。

データソースにクエリを実行するには
  1. まだサインインしていない場合は、AWS Management Consoleにサインインして AppSync コンソールを開きます。

  2. テーブルから API を選択します。

  3. 左側のタブで [クエリ] を選択します。

  4. 表の左側にある [エクスプローラー] タブの query listTodos の下で getTodo 操作を展開します。

    Expanded getTodo operation showing fields id, description, name, when, and where.
  5. コードエディタで、オペレーションコードが表示されます。

    query listTodos { getTodo(id: "") { description id name when where }

    (id:"") にミューテーション操作の結果に保存した値を入力します。この例では、次のようになります。

    query listTodos { getTodo(id: "abcdefgh-1234-1234-1234-abcdefghijkl") { description id name when where }
  6. [実行] を選択し、[ListToDos] を選択します。結果はエディタの右側に表示されます。この URL を次のように表示します。

    { "data": { "getTodo": { "description": "I need to buy eggs", "id": "abcdefgh-1234-1234-1234-abcdefghijkl", "name": "Shopping List", "when": "Friday", "where": "Home" } } }
    注記

    クエリは、指定したフィールドのみを返します。不要なフィールドは、リターンフィールドから削除することで選択解除できます。

    { description id name when where }

    [エクスプローラー] タブで削除したいフィールドの横にあるチェックボックスをオフにすることもできます。

  7. データソースにエントリを作成する手順を繰り返し、listTodos 操作でクエリ手順を繰り返すことで、listTodos 操作を試すこともできます。2 つ目のタスクを追加した例を次に示します。

    { "createtodoinput": { "name": "Second Task", "when": "Monday", "where": "Home", "description": "I need to mow the lawn" } }

    listTodos 操作を呼び出すと、古いエントリと新しいエントリの両方が返されました。

    { "data": { "listTodos": { "items": [ { "id": "abcdefgh-1234-1234-1234-abcdefghijkl", "name": "Shopping List", "when": "Friday", "where": "Home", "description": "I need to buy eggs" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "name": "Second Task", "when": "Monday", "where": "Home", "description": "I need to mow the lawn" } ] } } }