

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在控制台中使用 GraphQL 查询从 DynamoDB 表中检索数据 AWS AppSync
<a name="retrieve-data-with-graphql-query"></a>

您的数据库现已包含一条记录，您将在运行查询时获得结果。查询是 GraphQL 的其他基本操作之一。它用于从数据来源中解析和检索信息。就 REST 而言 APIs，这与`GET`操作类似。GraphQL 查询的主要优点是，能够指定应用程序的确切数据要求，以使您在正确的时间获取相关的数据。

**查询您的数据来源**

1. 如果您尚未执行此操作，请登录 AWS 管理控制台 并打开[AppSync 控制台](https://console.aws.amazon.com/appsync/)。

1. 从表中选择您的 API。

1. 在左侧的选项卡中，选择**查询**。

1. 在表左侧的**资源管理器**选项卡中，在 `query` `listTodos` 下面展开 `getTodo` 操作：  
![\[Expanded getTodo operation showing fields id, description, name, when, and where.\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/images/explorer-example-4.png)

1. 在代码编辑器中，您应该会看到操作代码：

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

   在 `(id:"")` 中，填写您在变更操作结果中保存的值。在我们的示例中，这是：

   ```
   query listTodos {
     getTodo(id: "abcdefgh-1234-1234-1234-abcdefghijkl") {
       description
       id
       name
       when
       where
     }
   ```

1. 选择**运行**，然后选择 **listTodos**。结果将显示在编辑器右侧。我们的示例如下所示：

   ```
   {
     "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
     }
   ```
在**资源管理器**选项卡中，您也可以取消选中要删除的字段旁边的框。

1. 您还可以尝试 `listTodos` 操作，方法是重复在数据来源中创建条目的步骤，然后使用 `listTodos` 操作重复查询步骤。以下是我们添加第二个任务的示例：

   ```
   {
     "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"
           }
         ]
       }
     }
   }
   ```