Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Query
Query
ist ein synchroner Vorgang, mit dem Sie eine Abfrage für Ihre Amazon Timestream Timestream-Daten ausführen können.
Wenn Sie diese Option aktiviert habenQueryInsights
, werden API auch Erkenntnisse und Metriken zurückgegeben, die sich auf die von Ihnen ausgeführte Abfrage beziehen. QueryInsights
hilft bei der Leistungsoptimierung Ihrer Abfrage. Weitere Informationen QueryInsights
dazu finden Sie unter Verwenden von Abfrageerkenntnissen zur Optimierung von Abfragen in Amazon Timestream.
Anmerkung
Die maximale Anzahl von Query
API Anfragen, die Sie bei QueryInsights
aktivierter Option stellen dürfen, beträgt 1 Abfrage pro Sekunde (QPS). Wenn Sie diese Abfragerate überschreiten, kann dies zu einer Drosselung führen.
Query
wird nach 60 Sekunden ein Timeout ausgelöst. Sie müssen das Standard-Timeout in der aktualisierenSDK, um ein Timeout von 60 Sekunden zu unterstützen. Einzelheiten finden Sie im Codebeispiel.
Ihre Abfrageanfrage schlägt in den folgenden Fällen fehl:
-
Wenn Sie eine
Query
Anfrage mit demselben Client-Token außerhalb des 5-minütigen Idempotenzfensters einreichen. -
Wenn Sie innerhalb des 5-minütigen Idempotenzfensters eine
Query
Anfrage mit demselben Client-Token einreichen, aber andere Parameter ändern. -
Wenn die Größe der Zeile (einschließlich der Abfrage-Metadaten) 1 MB überschreitet, schlägt die Abfrage fehl und die folgende Fehlermeldung wird angezeigt:
Query aborted as max page response size has been exceeded by the output result row
-
Wenn der IAM Prinzipal des Abfrageinitiators und des Ergebnislesers nicht identisch sind und/oder der Abfrageinitiator und der Ergebnisleser nicht dieselbe Abfragezeichenfolge in den Abfrageanforderungen haben, schlägt die Abfrage mit einem
Invalid pagination token
Fehler fehl.
Anforderungssyntax
{
"ClientToken": "string
",
"MaxRows": number
,
"NextToken": "string
",
"QueryInsights": {
"Mode": "string
"
},
"QueryString": "string
"
}
Anforderungsparameter
Informationen zu den Parametern, die alle Aktionen gemeinsam haben, finden Sie unter Allgemeine Parameter.
Die Anfrage akzeptiert die folgenden Daten im JSON Format.
- ClientToken
-
Eindeutige, bei der Groß- und Kleinschreibung berücksichtigende Zeichenfolge mit bis zu 64 ASCII Zeichen, die bei der
Query
Anfrage angegeben wird. Die Angabe von aClientToken
macht den AufrufQuery
idempotent. Das bedeutet, dass das wiederholte Ausführen derselben Abfrage zum gleichen Ergebnis führt. Mit anderen Worten, das Stellen mehrerer identischerQuery
Anfragen hat den gleichen Effekt wie das Stellen einer einzelnen Anfrage. Beachten SieClientToken
bei der Verwendung in einer Abfrage Folgendes:-
Wenn die Abfrage ohne a instanziiert API wird
ClientToken
, SDK generiert die Abfrage inClientToken
Ihrem Namen eine. -
Wenn der
Query
Aufruf nur das,ClientToken
aber kein A enthält, wird davon ausgegangenNextToken
, dass es sich bei diesem Aufruf von um einen neuen AbfragelaufQuery
handelt. -
Wenn der Aufruf enthält
NextToken
, wird davon ausgegangen, dass es sich bei diesem speziellen Aufruf um einen nachfolgenden Aufruf eines vorherigen Abfrageaufrufs handeltAPI, und es wird eine Ergebnismenge zurückgegeben. -
Nach 4 Stunden
ClientToken
wird jede Anfrage mit demselben Inhalt wie eine neue Anfrage behandelt.
Typ: Zeichenfolge
Längenbeschränkungen: Mindestlänge von 32. Maximale Länge beträgt 128 Zeichen.
Erforderlich: Nein
-
- MaxRows
-
Die Gesamtzahl der Zeilen, die in der
Query
Ausgabe zurückgegeben werden sollen. Bei der ersten Ausführung vonQuery
mit einem angegebenenMaxRows
Wert wird in zwei Fällen die Ergebnismenge der Abfrage zurückgegeben:-
Die Größe des Ergebnisses ist kleiner als
1MB
. -
Die Anzahl der Zeilen in der Ergebnismenge ist geringer als der Wert von
maxRows
.
Andernfalls gibt der erste Aufruf von
Query
only a zurückNextToken
, das dann in nachfolgenden Aufrufen zum Abrufen der Ergebnismenge verwendet werden kann. Um die Paginierung fortzusetzen, geben Sie denNextToken
Wert im nachfolgenden Befehl ein.Wenn die Zeilengröße groß ist (z. B. eine Zeile hat viele Spalten), gibt Timestream möglicherweise weniger Zeilen zurück, um zu verhindern, dass die Antwortgröße die Grenze von 1 MB überschreitet. Wenn nicht
MaxRows
angegeben, sendet Timestream die erforderliche Anzahl von Zeilen, um das Limit von 1 MB einzuhalten.Typ: Ganzzahl
Gültiger Bereich: Mindestwert 1. Maximaler Wert von 1 000.
Erforderlich: Nein
-
- NextToken
-
Ein Paginierungstoken, das verwendet wird, um eine Reihe von Ergebnissen zurückzugeben. Wenn das mit aufgerufen
Query
API wird, wird davon ausgegangenNextToken
, dass es sich bei diesem bestimmten Aufruf um einen nachfolgenden Aufruf eines vorherigen Aufrufs von handeltQuery
, und es wird eine Ergebnismenge zurückgegeben. Wenn derQuery
Aufruf jedoch nur den enthält,Query
wird davon ausgegangenClientToken
, dass es sich bei diesem Aufruf von um einen neuen Abfragelauf handelt.Beachten Sie bei der Verwendung NextToken in einer Abfrage Folgendes:
-
Ein Paginierungstoken kann für bis zu fünf
Query
Aufrufe ODER für eine Dauer von bis zu 1 Stunde verwendet werden — je nachdem, was zuerst eintritt. -
Wenn Sie dasselbe verwenden,
NextToken
wird derselbe Satz von Datensätzen zurückgegeben. Um die Ergebnismenge weiterhin paginieren zu können, müssen Sie die neueste Version verwenden.nextToken
-
Angenommen, ein
Query
Aufruf gibt zweiNextToken
Werte zurück, und.TokenA
TokenB
Wenn in einem nachfolgendenQuery
Aufruf verwendetTokenB
wird,TokenA
ist es ungültig und kann nicht wiederverwendet werden. -
Um nach Beginn der Paginierung eine vorherige Ergebnismenge aus einer Abfrage anzufordern, müssen Sie die Abfrage erneut aufrufen. API
-
Die neueste Version
NextToken
sollte verwendet werden, um zu paginieren, bis sie zurückgegebennull
wird. Ab diesem Zeitpunkt sollte eine neueNextToken
Version verwendet werden. -
Wenn der IAM Prinzipal des Abfrageinitiators und des Ergebnislesers nicht identisch sind und/oder der Abfrageinitiator und der Ergebnisleser nicht dieselbe Abfragezeichenfolge in den Abfrageanforderungen haben, schlägt die Abfrage mit einem Fehler fehl.
Invalid pagination token
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 2048 Zeichen.
Erforderlich: Nein
-
- QueryInsights
-
Kapselt Einstellungen für die Aktivierung.
QueryInsights
Durch die Aktivierung werden zusätzlich zu den Abfrageergebnissen für die von Ihnen ausgeführte Abfrage auch Erkenntnisse und Metriken
QueryInsights
zurückgegeben. Sie können es verwendenQueryInsights
, um Ihre Abfrageleistung zu optimieren.Typ: QueryInsights Objekt
Erforderlich: Nein
- QueryString
-
Die Abfrage, die von Timestream ausgeführt werden soll.
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge von 262144.
Erforderlich: Ja
Antwortsyntax
{
"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"
}
]
}
]
}
]
}
Antwortelemente
Wenn die Aktion erfolgreich ist, sendet der Dienst eine HTTP 200-Antwort zurück.
Die folgenden Daten werden vom Dienst im JSON Format zurückgegeben.
- ColumnInfo
-
Die Spaltendatentypen der zurückgegebenen Ergebnismenge.
Typ: Array von ColumnInfo-Objekten
- NextToken
-
Ein Paginierungstoken, das bei einem
Query
Aufruf erneut verwendet werden kann, um die nächsten Ergebnisse abzurufen.Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 2048 Zeichen.
- QueryId
-
Eine eindeutige ID für die angegebene Abfrage.
Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 64 Zeichen.
Pattern:
[a-zA-Z0-9]+
- QueryInsightsResponse
-
QueryInsights
Enthält Erkenntnisse und Metriken zu der von Ihnen ausgeführten Abfrage.Typ: QueryInsightsResponse Objekt
- QueryStatus
-
Informationen zum Status der Abfrage, einschließlich des Fortschritts und der gescannten Byte.
Typ: QueryStatus Objekt
- Rows
-
Die von der Abfrage zurückgegebenen Ergebnismengenzeilen.
Typ: Array von Row-Objekten
Fehler
Weitere Informationen zu den allgemeinen Fehlern, die bei allen Aktionen zurückgegeben werden, finden Sie unter Häufige Fehler.
- AccessDeniedException
-
Sie sind nicht berechtigt, diese Aktion auszuführen.
HTTPStatuscode: 400
- ConflictException
-
Die Ergebnisse für eine stornierte Abfrage konnten nicht abgefragt werden.
HTTPStatuscode: 400
- InternalServerException
-
Der Dienst konnte diese Anfrage aufgrund eines internen Serverfehlers nicht vollständig verarbeiten.
HTTPStatuscode: 400
- InvalidEndpointException
-
Der angeforderte Endpunkt war nicht gültig.
HTTPStatuscode: 400
- QueryExecutionException
-
Timestream konnte die Abfrage nicht erfolgreich ausführen.
HTTPStatuscode: 400
- ThrottlingException
-
Die Anforderung wurde aufgrund der Drosselung von Anforderungen abgelehnt.
HTTPStatuscode: 400
- ValidationException
-
Ungültige oder falsch formatierte Anfrage.
HTTPStatuscode: 400
Weitere Informationen finden Sie unter:
Weitere Informationen zur Verwendung API in einer der sprachspezifischen Sprachen AWS SDKs finden Sie im Folgenden: