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.
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
Queryest une opération synchrone qui vous permet d'exécuter une requête sur vos données Amazon Timestream.
Si vous l'avez activéeQueryInsights, cette API renvoie également des informations et des statistiques relatives à la requête que vous avez exécutée. QueryInsightsaide à optimiser les performances de votre requête. Pour en savoir plusQueryInsights, consultez la section Utilisation des informations relatives aux requêtes pour optimiser les requêtes dans Amazon Timestream.
Note
Le nombre maximum de demandes d'QueryAPI 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.
Queryexpirera 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 pour plus de détails.
Votre demande de requête échouera dans les cas suivants :
-
Si vous soumettez une
Querydemande avec le même jeton client en dehors de la fenêtre d'idempuissance de 5 minutes. -
Si vous soumettez une
Querydemande 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
{
"ClientToken": "string",
"MaxRows": number,
"NextToken": "string",
"QueryInsights": {
"Mode": "string"
},
"QueryString": "string"
}
Paramètres de demande
Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez Paramètres courants.
Cette demande accepte les données suivantes au format JSON.
- ClientToken
-
Chaîne unique, distinguant majuscules et minuscules, de 64 caractères ASCII maximum spécifiée lors d'une
Querydemande. Fournir unClientTokenfait passer l'appel àQueryidempotent. 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 plusieursQuerydemandes identiques a le même effet qu'une seule demande. Lorsque vous l'utilisezClientTokendans 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 votreClientTokennom. -
Si l'
Queryinvocation ne contient que leClientTokenmais n'inclut pas unNextToken, cet appel deQueryest 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
ClientTokenest traitée comme une nouvelle demande.
Type : String
Contraintes de longueur : longueur minimale de 32. Longueur maximale de 128.
Obligatoire : non
-
- MaxRows
-
Le nombre total de lignes à renvoyer dans la
Querysortie. L'exécution initiale deQueryavec uneMaxRowsvaleur 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
Queryuniquement aNextToken, qui peut ensuite être utilisé lors des appels suivants pour récupérer le jeu de résultats. Pour reprendre la pagination, entrez laNextTokenvaleur 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
MaxRowsce 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
-
Un jeton de pagination utilisé pour renvoyer un ensemble de résultats. Lorsque l'
QueryAPI est invoquée en utilisantNextToken, 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'Queryinvocation ne contient que leClientToken, cette invocation deQueryest supposée ê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
Queryinvocations, OU pour une durée maximale d'une heure, selon la première éventualité. -
L'utilisation de la même option
NextTokenrenverra 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'
Queryun appel renvoie deuxNextTokenvaleurs,TokenAetTokenB. S'ilTokenBest utilisé lors d'un appel ultérieur,QueryilTokenAest 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
NextTokendoit être utilisée pour paginer jusqu'à ce qu'ellenullsoit renvoyée, après quoi une nouvelleNextTokendoit ê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 : String
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.
Obligatoire : non
-
- QueryInsights
-
Encapsule les paramètres à activer
QueryInsights.L'activation
QueryInsightsrenvoie 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'utiliserQueryInsightspour optimiser les performances de vos requêtes.Type : objet QueryInsights
Obligatoire : non
- QueryString
-
Requête à exécuter par Timestream.
Type : String
Contraintes de longueur : longueur minimum de 1. Longueur maximum de 262 144.
Obligatoire : oui
Syntaxe de la réponse
{
"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
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
-
Les types de données de colonne du jeu de résultats renvoyé.
Type : tableau d’objets ColumnInfo
- NextToken
-
Un jeton de pagination qui peut être réutilisé lors d'un
Queryappel pour obtenir la prochaine série de résultats.Type : String
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 2048.
- QueryId
-
Un identifiant unique pour la requête donnée.
Type : String
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 64.
Modèle :
[a-zA-Z0-9]+ - QueryInsightsResponse
-
Encapsule
QueryInsightscontenant des informations et des mesures relatives à la requête que vous avez exécutée.Type : objet QueryInsightsResponse
- QueryStatus
-
Informations sur l'état de la requête, y compris la progression et les octets analysés.
Type : objet QueryStatus
- Rows
-
Les lignes du jeu de résultats renvoyées par la requête.
Type : tableau d’objets Row
Erreurs
Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.
- 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
consultez aussi
Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :