Für ähnliche Funktionen wie Amazon Timestream für sollten Sie Amazon Timestream for LiveAnalytics InfluxDB in Betracht ziehen. Es bietet eine vereinfachte Datenaufnahme und Antwortzeiten im einstelligen Millisekundenbereich für Analysen in Echtzeit. Erfahren Sie hier mehr.
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
Queryist ein synchroner Vorgang, mit dem Sie eine Abfrage für Ihre Amazon Timestream Timestream-Daten ausführen können.
Wenn Sie diese API aktiviert habenQueryInsights, gibt sie auch Erkenntnisse und Metriken zurück, die sich auf die von Ihnen ausgeführte Abfrage beziehen. QueryInsightshilft 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.
Querywird nach 60 Sekunden ein Timeout ausgelöst. Sie müssen das Standard-Timeout im SDK so aktualisieren, dass es ein Timeout von 60 Sekunden unterstützt. Einzelheiten finden Sie im Codebeispiel.
Ihre Abfrageanfrage schlägt in den folgenden Fällen fehl:
-
Wenn Sie eine
QueryAnfrage mit demselben Client-Token außerhalb des 5-minütigen Idempotenzfensters einreichen. -
Wenn Sie innerhalb des 5-minütigen Idempotenzfensters eine
QueryAnfrage 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, and/or der Abfrageinitiator und der Ergebnisleser nicht dieselbe Abfragezeichenfolge in den Abfrageanforderungen haben, schlägt die Abfrage mit einem Fehler fehl.
Invalid pagination token
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 Anforderung akzeptiert die folgenden Daten im JSON-Format.
- ClientToken
-
Eindeutige Zeichenfolge mit bis zu 64 ASCII-Zeichen, bei der Groß- und Kleinschreibung berücksichtigt wird, wenn eine Anfrage gestellt wird.
QueryDie Angabe von aClientTokenmacht den Aufruf idempotent.QueryDas bedeutet, dass das wiederholte Ausführen derselben Abfrage zum gleichen Ergebnis führt. Mit anderen Worten, das Stellen mehrerer identischerQueryAnfragen hat den gleichen Effekt wie das Stellen einer einzelnen Anfrage. Beachten SieClientTokenbei der Verwendung in einer Abfrage Folgendes:-
Wenn die Abfrage-API ohne a instanziiert wird
ClientToken, generiert das Query-SDK inClientTokenIhrem Namen eine. -
Wenn der
QueryAufruf nur die,ClientTokenaber keine enthält, wird davon ausgegangenNextToken, dass es sich bei diesem Aufruf von um einen neuen AbfragelaufQueryhandelt. -
Wenn der Aufruf Folgendes enthält
NextToken, wird davon ausgegangen, dass es sich bei diesem speziellen Aufruf um einen nachfolgenden Aufruf eines vorherigen Aufrufs der Abfrage-API handelt, und es wird eine Ergebnismenge zurückgegeben. -
Nach 4 Stunden
ClientTokenwird 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
QueryAusgabe zurückgegeben werden sollen. Bei der ersten Ausführung vonQuerymit einem angegebenenMaxRowsWert 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
Queryonly a zurückNextToken, das dann in nachfolgenden Aufrufen zum Abrufen der Ergebnismenge verwendet werden kann. Um die Paginierung fortzusetzen, geben Sie denNextTokenWert 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
MaxRowsangegeben, 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 die
QueryAPI mit aufgerufen 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 derQueryAufruf jedoch nur den enthält,Querywird 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
QueryAufrufe ODER für eine Dauer von bis zu 1 Stunde verwendet werden — je nachdem, was zuerst eintritt. -
Wenn Sie dasselbe verwenden,
NextTokenwird 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
QueryAufruf gibt zweiNextTokenWerte zurück, und.TokenATokenBWenn in einem nachfolgendenQueryAufruf verwendetTokenBwird,TokenAist 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-API erneut aufrufen.
-
Die neueste Version
NextTokensollte verwendet werden, um zu paginieren, bis sie zurückgegebennullwird. Ab diesem Zeitpunkt sollte eine neueNextTokenVersion verwendet werden. -
Wenn der IAM-Prinzipal des Abfrageinitiators und des Ergebnislesers nicht identisch sind, and/or 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.
QueryInsightsDurch die Aktivierung werden zusätzlich zu den Abfrageergebnissen für die von Ihnen ausgeführte Abfrage auch Erkenntnisse und Metriken
QueryInsightszurü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 Service eine HTTP 200-Antwort zurück.
Die folgenden Daten werden vom Service im JSON-Format zurückgegeben.
- ColumnInfo
-
Die Spaltendatentypen der zurückgegebenen Ergebnismenge.
Typ: Array von ColumnInfo-Objekten
- NextToken
-
Ein Paginierungstoken, das bei einem
QueryAufruf 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
-
Kapselt,
QueryInsightsdie Erkenntnisse und Metriken zu der von Ihnen ausgeführten Abfrage enthalten.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 verfügen nicht über die erforderlichen Berechtigungen, um auf die Kontoeinstellungen zuzugreifen.
HTTP Status Code: 400
- ConflictException
-
Die Ergebnisse für eine stornierte Abfrage konnten nicht abgefragt werden.
HTTP Status Code: 400
- InternalServerException
-
Bei der Verarbeitung der Anfrage ist ein interner Serverfehler aufgetreten.
HTTP Status Code: 400
- InvalidEndpointException
-
Der angeforderte Endpunkt ist ungültig.
HTTP Status Code: 400
- QueryExecutionException
-
Timestream konnte die Abfrage nicht erfolgreich ausführen.
HTTP Status Code: 400
- ThrottlingException
-
Die Anfrage wurde aufgrund übermäßiger Anfragen gedrosselt.
HTTP Status Code: 400
- ValidationException
-
Ungültige oder falsch formatierte Anfrage.
HTTP Status Code: 400
Weitere Informationen finden Sie unter:
Weitere Informationen zur Verwendung dieser API in einer der sprachspezifischen Sprachen finden Sie im AWS SDKs Folgenden: