

Per funzionalità simili a Amazon Timestream for, prendi in considerazione Amazon Timestream LiveAnalytics per InfluxDB. Offre un'acquisizione semplificata dei dati e tempi di risposta alle query di una sola cifra di millisecondi per analisi in tempo reale. [Scopri](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html) di più qui.

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à.

# Query
<a name="API_query_Query"></a>

 `Query`è un'operazione sincrona che consente di eseguire una query sui dati di Amazon Timestream.

Se abilitata`QueryInsights`, questa API restituisce anche informazioni e metriche relative alla query che hai eseguito. `QueryInsights`aiuta a ottimizzare le prestazioni della query. Per ulteriori informazioni su`QueryInsights`, consulta [Using query insights per ottimizzare le query in Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/using-query-insights.html).

**Nota**  
Il numero massimo di richieste `Query` API che puoi effettuare con `QueryInsights` enabled è 1 query al secondo (QPS). Se superi questa frequenza di query, potrebbe verificarsi una limitazione.

 `Query`scadrà dopo 60 secondi. È necessario aggiornare il timeout predefinito nell'SDK per supportare un timeout di 60 secondi. Per i dettagli, consulta l'[esempio di codice](https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.run-query.html). 

La richiesta di interrogazione avrà esito negativo nei seguenti casi:
+  Se invii una `Query` richiesta con lo stesso token client al di fuori della finestra di idempotenza di 5 minuti. 
+  Se invii una `Query` richiesta con lo stesso token client, ma modifichi altri parametri, entro la finestra di idempotenza di 5 minuti. 
+  Se la dimensione della riga (inclusi i metadati della query) supera 1 MB, la query avrà esito negativo e verrà visualizzato il seguente messaggio di errore: 

   `Query aborted as max page response size has been exceeded by the output result row` 
+  Se il principale IAM dell'iniziatore della query e il lettore dei risultati non coincidono, l'iniziatore and/or della query e il lettore dei risultati non hanno la stessa stringa di query nelle richieste di query, la query avrà esito negativo e restituirà un errore. `Invalid pagination token` 

## Sintassi della richiesta
<a name="API_query_Query_RequestSyntax"></a>

```
{
   "ClientToken": "string",
   "MaxRows": number,
   "NextToken": "string",
   "QueryInsights": { 
      "Mode": "string"
   },
   "QueryString": "string"
}
```

## Parametri della richiesta
<a name="API_query_Query_RequestParameters"></a>

Per informazioni sui parametri comuni per tutte le azioni, consulta [Parametri comuni](CommonParameters.md).

La richiesta accetta i seguenti dati in formato JSON.

 ** [ClientToken](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-ClientToken"></a>
 Stringa unica, con distinzione tra maiuscole e minuscole, contenente un massimo di 64 caratteri ASCII, specificata quando viene effettuata una richiesta. `Query` *Fornire un `ClientToken` rende la chiamata idempotente. `Query`* Ciò significa che l'esecuzione ripetuta della stessa query produrrà lo stesso risultato. In altre parole, fare più `Query` richieste identiche ha lo stesso effetto di fare una singola richiesta. Quando si utilizza `ClientToken` in una query, tenete presente quanto segue:   
+  Se l'API Query viene istanziata senza un`ClientToken`, Query SDK genera un file per `ClientToken` conto dell'utente.
+ Se la `Query` chiamata contiene solo `ClientToken` ma non include a`NextToken`, si presume che tale invocazione di `Query` sia l'esecuzione di una nuova query.
+ Se la chiamata contiene`NextToken`, si presume che quella particolare invocazione sia una chiamata successiva di una precedente chiamata all'API Query e viene restituito un set di risultati.
+  Dopo 4 ore, qualsiasi richiesta con lo stesso valore `ClientToken` viene trattata come una nuova richiesta. 
Tipo: String  
Vincoli di lunghezza: lunghezza minima di 32. La lunghezza massima è 128 caratteri.  
Obbligatorio: no

 ** [MaxRows](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-MaxRows"></a>
 Il numero totale di righe da restituire nell'`Query`output. L'esecuzione iniziale di `Query` con un `MaxRows` valore specificato restituirà il set di risultati della query in due casi:   
+ La dimensione del risultato è inferiore a`1MB`.
+ Il numero di righe nel set di risultati è inferiore al valore di`maxRows`.
Altrimenti, l'invocazione iniziale di restituisce `Query` solo a`NextToken`, che può quindi essere utilizzato nelle chiamate successive per recuperare il set di risultati. Per riprendere l'impaginazione, fornite il `NextToken` valore nel comando successivo.  
Se la dimensione della riga è grande (ad esempio una riga ha molte colonne), Timestream può restituire un numero inferiore di righe per evitare che la dimensione della risposta superi il limite di 1 MB. Se non `MaxRows` viene fornito, Timestream invierà il numero di righe necessario per soddisfare il limite di 1 MB.  
Tipo: numero intero  
Intervallo valido: valore minimo di 1. Valore massimo pari a 1000.  
Obbligatorio: no

 ** [NextToken](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-NextToken"></a>
 Un token di impaginazione utilizzato per restituire una serie di risultati. Quando l'`Query`API viene richiamata utilizzando`NextToken`, si presume che quella particolare invocazione sia una chiamata successiva di una chiamata precedente a e viene restituito un set di `Query` risultati. Tuttavia, se la `Query` chiamata contiene solo il, si presume che tale invocazione sia una nuova esecuzione di `Query` una query. `ClientToken`   
Quando si utilizza NextToken in una query, tenere presente quanto segue:  
+ Un token di impaginazione può essere utilizzato per un massimo di cinque `Query` chiamate, OPPURE per una durata massima di 1 ora, a seconda dell'evento che si verifica per primo.
+ L'utilizzo dello stesso `NextToken` restituirà lo stesso set di record. Per continuare a sfogliare il set di risultati, è necessario utilizzare i più recenti. `nextToken`
+ Supponiamo che una `Query` chiamata restituisca due valori e. `NextToken` `TokenA` `TokenB` Se `TokenB` viene utilizzato in una `Query` chiamata successiva, viene invalidato e non può essere `TokenA` riutilizzato.
+ Per richiedere un set di risultati precedente da una query dopo l'inizio dell'impaginazione, è necessario richiamare nuovamente l'API Query.
+ L'ultima `NextToken` deve essere utilizzata per impaginare fino a quando non `null` viene restituita, a quel punto deve essere usata una nuova`NextToken`.
+  Se il principale IAM dell'iniziatore di query e il lettore dei risultati non sono gli stessi and/or , l'iniziatore di query e il lettore di risultati non hanno la stessa stringa di query nelle richieste di query, la query avrà esito negativo e verrà generato un errore. `Invalid pagination token` 
Tipo: String  
Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 2048 caratteri.  
Obbligatorio: no

 ** [QueryInsights](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-QueryInsights"></a>
Incapsula le impostazioni per l'abilitazione. `QueryInsights`  
L'attivazione `QueryInsights` restituisce approfondimenti e metriche oltre ai risultati delle query per la query eseguita. È possibile utilizzarlo `QueryInsights` per ottimizzare le prestazioni delle query.  
Tipo: oggetto [QueryInsights](API_query_QueryInsights.md)  
Obbligatorio: no

 ** [QueryString](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-QueryString"></a>
 La query che deve essere eseguita da Timestream.   
Tipo: String  
Limitazioni di lunghezza: lunghezza minima pari a 1. Lunghezza massima di 262144.  
Obbligatorio: sì

## Sintassi della risposta
<a name="API_query_Query_ResponseSyntax"></a>

```
{
   "ColumnInfo": [ 
      { 
         "Name": "string",
         "Type": { 
            "ArrayColumnInfo": "ColumnInfo",
            "RowColumnInfo": [ 
               "ColumnInfo"
            ],
            "ScalarType": "string",
            "TimeSeriesMeasureValueColumnInfo": "ColumnInfo"
         }
      }
   ],
   "NextToken": "string",
   "QueryId": "string",
   "QueryInsightsResponse": { 
      "OutputBytes": number,
      "OutputRows": number,
      "QuerySpatialCoverage": { 
         "Max": { 
            "PartitionKey": [ "string" ],
            "TableArn": "string",
            "Value": number
         }
      },
      "QueryTableCount": number,
      "QueryTemporalRange": { 
         "Max": { 
            "TableArn": "string",
            "Value": number
         }
      },
      "UnloadPartitionCount": number,
      "UnloadWrittenBytes": number,
      "UnloadWrittenRows": number
   },
   "QueryStatus": { 
      "CumulativeBytesMetered": number,
      "CumulativeBytesScanned": number,
      "ProgressPercentage": number
   },
   "Rows": [ 
      { 
         "Data": [ 
            { 
               "ArrayValue": [ 
                  "Datum"
               ],
               "NullValue": boolean,
               "RowValue": "Row",
               "ScalarValue": "string",
               "TimeSeriesValue": [ 
                  { 
                     "Time": "string",
                     "Value": "Datum"
                  }
               ]
            }
         ]
      }
   ]
}
```

## Elementi di risposta
<a name="API_query_Query_ResponseElements"></a>

Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

 ** [ColumnInfo](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-ColumnInfo"></a>
 I tipi di dati delle colonne del set di risultati restituito.   
Tipo: matrice di oggetti [ColumnInfo](API_query_ColumnInfo.md)

 ** [NextToken](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-NextToken"></a>
 Un token di impaginazione che può essere riutilizzato durante una `Query` chiamata per ottenere il successivo set di risultati.   
Tipo: String  
Limitazioni di lunghezza: lunghezza minima di 1. La lunghezza massima è 2048 caratteri.

 ** [QueryId](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryId"></a>
 Un ID univoco per la query specificata.   
Tipo: String  
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 64 caratteri.  
Modello: `[a-zA-Z0-9]+` 

 ** [QueryInsightsResponse](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryInsightsResponse"></a>
Incapsula `QueryInsights` contenente informazioni e metriche relative alla query che hai eseguito.  
Tipo: oggetto [QueryInsightsResponse](API_query_QueryInsightsResponse.md)

 ** [QueryStatus](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryStatus"></a>
Informazioni sullo stato della query, inclusi lo stato di avanzamento e i byte scansionati.  
Tipo: oggetto [QueryStatus](API_query_QueryStatus.md)

 ** [Rows](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-Rows"></a>
 Le righe del set di risultati restituite dalla query.   
Tipo: matrice di oggetti [Row](API_query_Row.md)

## Errori
<a name="API_query_Query_Errors"></a>

Per informazioni sugli errori comuni a tutte le operazioni, consultare [Errori comuni](CommonErrors.md).

 ** AccessDeniedException **   
Non disponi delle autorizzazioni necessarie per accedere alle impostazioni dell'account.  
Codice di stato HTTP: 400

 ** ConflictException **   
 Impossibile visualizzare i risultati di un sondaggio per una query annullata.   
Codice di stato HTTP: 400

 ** InternalServerException **   
Si è verificato un errore interno del server durante l'elaborazione della richiesta.  
Codice di stato HTTP: 400

 ** InvalidEndpointException **   
L'endpoint richiesto non è valido.  
Codice di stato HTTP: 400

 ** QueryExecutionException **   
 Timestream non è riuscito a eseguire la query con successo.   
Codice di stato HTTP: 400

 ** ThrottlingException **   
La richiesta è stata limitata a causa di un numero eccessivo di richieste.  
Codice di stato HTTP: 400

 ** ValidationException **   
 Richiesta non valida o non valida.   
Codice di stato HTTP: 400

## Vedi anche
<a name="API_query_Query_SeeAlso"></a>

Per ulteriori informazioni sull'utilizzo di questa API in una delle lingue specifiche, consulta quanto segue AWS SDKs:
+  [AWS Interfaccia a riga di comando V2](https://docs.aws.amazon.com/goto/cli2/timestream-query-2018-11-01/Query) 
+  [AWS SDK per.NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/timestream-query-2018-11-01/Query) 
+  [AWS SDK per C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/timestream-query-2018-11-01/Query) 
+  [AWS SDK per Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/timestream-query-2018-11-01/Query) 
+  [AWS SDK per Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/timestream-query-2018-11-01/Query) 
+  [AWS SDK per V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/timestream-query-2018-11-01/Query) 
+  [AWS SDK per Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/timestream-query-2018-11-01/Query) 
+  [AWS SDK per PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/timestream-query-2018-11-01/Query) 
+  [AWS SDK per Python](https://docs.aws.amazon.com/goto/boto3/timestream-query-2018-11-01/Query) 
+  [AWS SDK per Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/timestream-query-2018-11-01/Query) 