

Pour des fonctionnalités similaires à celles d'Amazon Timestream pour, pensez à Amazon Timestream LiveAnalytics pour InfluxDB. Il permet une ingestion simplifiée des données et des temps de réponse aux requêtes à un chiffre en millisecondes pour des analyses en temps réel. Pour en savoir plus, [cliquez ici](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

 `Query`est une opération synchrone qui vous permet d'exécuter une requête sur vos données Amazon Timestream.

Si vous l'avez activée`QueryInsights`, cette API renvoie également des informations et des statistiques relatives à la requête que vous avez exécutée. `QueryInsights`aide à optimiser les performances de votre requête. Pour en savoir plus`QueryInsights`, consultez la section [Utilisation des informations relatives aux requêtes pour optimiser les requêtes dans Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/using-query-insights.html).

**Note**  
Le nombre maximum de demandes d'`Query`API que vous êtes autorisé à effectuer lorsque `QueryInsights` cette option est activée est d'une requête par seconde (QPS). Si vous dépassez ce taux de requêtes, cela peut entraîner un ralentissement.

 `Query`expirera au bout de 60 secondes. Vous devez mettre à jour le délai d'expiration par défaut dans le SDK pour qu'il prenne en charge un délai d'attente de 60 secondes. Consultez l'[exemple de code](https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.run-query.html) pour plus de détails. 

Votre demande de requête échouera dans les cas suivants :
+  Si vous soumettez une `Query` demande avec le même jeton client en dehors de la fenêtre d'idempuissance de 5 minutes. 
+  Si vous soumettez une `Query` demande avec le même jeton client, mais que vous modifiez d'autres paramètres, dans le délai d'idempotentie de 5 minutes. 
+  Si la taille de la ligne (y compris les métadonnées de la requête) dépasse 1 Mo, la requête échouera avec le message d'erreur suivant : 

   `Query aborted as max page response size has been exceeded by the output result row` 
+  Si le principal IAM de l'initiateur de requête et le lecteur de résultats ne sont pas identiques and/or , l'initiateur de requête et le lecteur de résultats n'ont pas la même chaîne de requête dans les demandes de requête, la requête échouera avec une erreur. `Invalid pagination token` 

## Syntaxe de la requête
<a name="API_query_Query_RequestSyntax"></a>

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

## Paramètres de demande
<a name="API_query_Query_RequestParameters"></a>

Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez [Paramètres courants](CommonParameters.md).

Cette demande accepte les données suivantes au format JSON.

 ** [ClientToken](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-ClientToken"></a>
 Chaîne unique, distinguant majuscules et minuscules, de 64 caractères ASCII maximum spécifiée lors d'une `Query` demande. Fournir un `ClientToken` fait passer l'appel à `Query` *idempotent*. Cela signifie que l'exécution répétée de la même requête produira le même résultat. En d'autres termes, le fait de faire plusieurs `Query` demandes identiques a le même effet qu'une seule demande. Lorsque vous l'utilisez `ClientToken` dans une requête, notez les points suivants :   
+  Si l'API Query est instanciée sans un`ClientToken`, le Query SDK en génère un en votre `ClientToken` nom.
+ Si l'`Query`invocation ne contient que le `ClientToken` mais n'inclut pas un`NextToken`, cet appel de `Query` est supposé être une nouvelle requête exécutée.
+ Si l'invocation contient`NextToken`, cette invocation particulière est supposée être une invocation ultérieure d'un appel antérieur à l'API Query, et un ensemble de résultats est renvoyé.
+  Au bout de 4 heures, toute demande contenant la même chose `ClientToken` est traitée comme une nouvelle demande. 
Type : Chaîne  
Contraintes de longueur : longueur minimale de 32. Longueur maximale de 128.  
Obligatoire : non

 ** [MaxRows](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-MaxRows"></a>
 Le nombre total de lignes à renvoyer dans la `Query` sortie. L'exécution initiale de `Query` avec une `MaxRows` valeur spécifiée renverra le jeu de résultats de la requête dans deux cas :   
+ La taille du résultat est inférieure à`1MB`.
+ Le nombre de lignes du jeu de résultats est inférieur à la valeur de`maxRows`.
Sinon, l'appel initial de renvoie `Query` uniquement a`NextToken`, qui peut ensuite être utilisé lors des appels suivants pour récupérer le jeu de résultats. Pour reprendre la pagination, entrez la `NextToken` valeur dans la commande suivante.  
Si la taille de la ligne est grande (par exemple, une ligne comporte de nombreuses colonnes), Timestream peut renvoyer moins de lignes afin d'empêcher la taille de réponse de dépasser la limite de 1 Mo. Si `MaxRows` ce n'est pas le cas, Timestream enverra le nombre de lignes nécessaire pour respecter la limite de 1 Mo.  
Type : entier  
Plage valide : valeur minimum de 1. La valeur maximale est 1 000.  
Obligatoire : non

 ** [NextToken](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-NextToken"></a>
 Un jeton de pagination utilisé pour renvoyer un ensemble de résultats. Lorsque l'`Query`API est invoquée en utilisant`NextToken`, cette invocation particulière est supposée être une invocation ultérieure d'un appel précédent à`Query`, et un ensemble de résultats est renvoyé. Toutefois, si l'`Query`invocation ne contient que le`ClientToken`, cet appel de `Query` est supposé être une nouvelle requête exécutée.   
Notez les points suivants lors de l'utilisation NextToken dans une requête :  
+ Un jeton de pagination peut être utilisé pour un maximum de cinq `Query` invocations, OU pour une durée maximale d'une heure, selon la première éventualité.
+ L'utilisation de la même option `NextToken` renverra le même ensemble d'enregistrements. Pour continuer à paginer dans le jeu de résultats, vous devez utiliser le plus récent. `nextToken`
+ Supposons qu'`Query`un appel renvoie deux `NextToken` valeurs, `TokenA` et`TokenB`. S'il `TokenB` est utilisé lors d'un appel ultérieur, `Query` il `TokenA` est alors invalidé et ne peut pas être réutilisé.
+ Pour demander un ensemble de résultats antérieur à partir d'une requête après le début de la pagination, vous devez réinvoquer l'API Query.
+ La dernière `NextToken` doit être utilisée pour paginer jusqu'à ce qu'elle `null` soit renvoyée, après quoi une nouvelle `NextToken` doit être utilisée.
+  Si le principal IAM de l'initiateur de requête et le lecteur de résultats ne sont pas identiques and/or , l'initiateur de requête et le lecteur de résultats n'ont pas la même chaîne de requête dans les demandes de requête, la requête échouera avec une erreur. `Invalid pagination token` 
Type : Chaîne  
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.  
Obligatoire : non

 ** [QueryInsights](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-QueryInsights"></a>
Encapsule les paramètres à activer`QueryInsights`.  
L'activation `QueryInsights` renvoie des informations et des métriques en plus des résultats de requête pour la requête que vous avez exécutée. Vous pouvez l'utiliser `QueryInsights` pour optimiser les performances de vos requêtes.  
Type : objet [QueryInsights](API_query_QueryInsights.md)  
Obligatoire : non

 ** [QueryString](#API_query_Query_RequestSyntax) **   <a name="timestream-query_Query-request-QueryString"></a>
 Requête à exécuter par Timestream.   
Type : Chaîne  
Contraintes de longueur : longueur minimum de 1. Longueur maximum de 262 144.  
Obligatoire : oui

## Syntaxe de la réponse
<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"
                  }
               ]
            }
         ]
      }
   ]
}
```

## Eléments de réponse
<a name="API_query_Query_ResponseElements"></a>

Si l’action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées au format JSON par le service.

 ** [ColumnInfo](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-ColumnInfo"></a>
 Les types de données de colonne du jeu de résultats renvoyé.   
Type : tableau d’objets [ColumnInfo](API_query_ColumnInfo.md)

 ** [NextToken](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-NextToken"></a>
 Un jeton de pagination qui peut être réutilisé lors d'un `Query` appel pour obtenir la prochaine série de résultats.   
Type : Chaîne  
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.

 ** [QueryId](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryId"></a>
 Un identifiant unique pour la requête donnée.   
Type : Chaîne  
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 64 caractères.  
Modèle : `[a-zA-Z0-9]+` 

 ** [QueryInsightsResponse](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryInsightsResponse"></a>
Encapsule `QueryInsights` contenant des informations et des mesures relatives à la requête que vous avez exécutée.  
Type : objet [QueryInsightsResponse](API_query_QueryInsightsResponse.md)

 ** [QueryStatus](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-QueryStatus"></a>
Informations sur l'état de la requête, y compris la progression et les octets analysés.  
Type : objet [QueryStatus](API_query_QueryStatus.md)

 ** [Rows](#API_query_Query_ResponseSyntax) **   <a name="timestream-query_Query-response-Rows"></a>
 Les lignes du jeu de résultats renvoyées par la requête.   
Type : tableau d’objets [Row](API_query_Row.md)

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

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez [Erreurs courantes](CommonErrors.md).

 ** AccessDeniedException **   
Vous ne disposez pas des autorisations nécessaires pour accéder aux paramètres du compte.  
Code d’état HTTP : 400

 ** ConflictException **   
 Impossible d'interroger les résultats d'une requête annulée.   
Code d’état HTTP : 400

 ** InternalServerException **   
Une erreur interne du serveur s'est produite lors du traitement de la demande.  
Code d’état HTTP : 400

 ** InvalidEndpointException **   
Le point de terminaison demandé n'est pas valide.  
Code d’état HTTP : 400

 ** QueryExecutionException **   
 Timestream n'a pas pu exécuter correctement la requête.   
Code d’état HTTP : 400

 ** ThrottlingException **   
La demande a été limitée en raison d'un nombre excessif de demandes.  
Code d’état HTTP : 400

 ** ValidationException **   
 Demande non valide ou mal formée.   
Code d’état HTTP : 400

## Voir aussi
<a name="API_query_Query_SeeAlso"></a>

Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :
+  [AWS Interface de ligne de commande V2](https://docs.aws.amazon.com/goto/cli2/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour Python](https://docs.aws.amazon.com/goto/boto3/timestream-query-2018-11-01/Query) 
+  [AWS SDK pour Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/timestream-query-2018-11-01/Query) 