

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo delle query GraphQL per recuperare dati da una tabella DynamoDB nella console AWS AppSync
<a name="retrieve-data-with-graphql-query"></a>

Ora che esiste un record nel database, otterrete risultati quando eseguite una query. Una query è una delle altre operazioni fondamentali di GraphQL. Viene utilizzato per analizzare e recuperare informazioni dalla fonte di dati. In termini di REST APIs, questa è simile all'`GET`operazione. Il vantaggio principale delle query GraphQL è la possibilità di specificare i requisiti esatti dei dati dell'applicazione in modo da recuperare i dati pertinenti al momento giusto. 

**Per interrogare la fonte dei dati**

1. Se non l'hai già fatto, accedi Console di gestione AWS e apri la [AppSync console](https://console.aws.amazon.com/appsync/). 

1. Scegli la tua API dalla tabella.

1. Nella scheda a sinistra, scegli **Query**.

1. Nella scheda **Explorer** a sinistra della tabella, sotto `query``listTodos`, espandi l'`getTodo`operazione:  
![\[Expanded getTodo operation showing fields id, description, name, when, and where.\]](http://docs.aws.amazon.com/it_it/appsync/latest/devguide/images/explorer-example-4.png)

1. Nell'editor di codice, dovresti vedere il codice dell'operazione:

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

   Inserisci `(id:"")` il valore che hai salvato nel risultato dell'operazione di mutazione. Nel nostro esempio, questo sarebbe:

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

1. Scegli **Esegui**, quindi **ListToDos**. Il risultato verrà visualizzato a destra dell'editor. Il nostro esempio si presentava così:

   ```
   {
     "data": {
       "getTodo": {
         "description": "I need to buy eggs",
         "id": "abcdefgh-1234-1234-1234-abcdefghijkl",
         "name": "Shopping List",
         "when": "Friday",
         "where": "Home"
       }
     }
   }
   ```
**Nota**  
Le query restituiscono solo i campi specificati. Puoi deselezionare i campi che non ti servono eliminandoli dal campo di ritorno:  

   ```
   {
       description
       id
       name
       when
       where
     }
   ```
Puoi anche deselezionare la casella nella scheda **Explorer** accanto al campo che desideri eliminare.

1. Puoi anche provare l'`listTodos`operazione ripetendo i passaggi per creare una voce nell'origine dati, quindi ripetendo i passaggi di interrogazione con l'operazione. `listTodos` Ecco un esempio in cui abbiamo aggiunto una seconda attività:

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

   Richiamando l'`listTodos`operazione, ha restituito sia le voci vecchie che quelle nuove:

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