自 2025 年 6 月 20 日起,Amazon Timestream for LiveAnalytics 將不再向新客戶開放。如果您想要使用 Amazon Timestream for LiveAnalytics,請在該日期之前註冊。現有客戶可以繼續正常使用服務。如需詳細資訊,請參閱 Amazon Timestream for LiveAnalytics 可用性變更。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Query
Query
是一種同步操作,可讓您針對 Amazon Timestream 資料執行查詢。
如果您啟用 QueryInsights
,此 API 也會傳回與您執行之查詢相關的洞見和指標。 QueryInsights
可協助您調校查詢的效能。如需 的詳細資訊QueryInsights
,請參閱使用查詢洞見來最佳化 Amazon Timestream 中的查詢。
注意
在QueryInsights
啟用的情況下,您允許的 Query
API 請求數目上限為每秒 1 個查詢 (QPS)。如果您超過此查詢速率,可能會導致限流。
Query
會在 60 秒後逾時。您必須更新 SDK 中的預設逾時,以支援 60 秒的逾時。如需詳細資訊,請參閱程式碼範例。
在下列情況下,您的查詢請求將會失敗:
-
如果您在 5 分鐘等冪時段之外使用相同的用戶端字符提交
Query
請求。 -
如果您使用相同的用戶端字符提交
Query
請求,但在 5 分鐘等冪時段內變更其他參數。 -
如果資料列的大小 (包括查詢中繼資料) 超過 1 MB,則查詢會失敗,並顯示下列錯誤訊息:
Query aborted as max page response size has been exceeded by the output result row
-
如果查詢啟動器的 IAM 主體和結果讀取器不同和/或查詢啟動器,且結果讀取器在查詢請求中沒有相同的查詢字串,則查詢會失敗並顯示
Invalid pagination token
錯誤。
請求語法
{
"ClientToken": "string
",
"MaxRows": number
,
"NextToken": "string
",
"QueryInsights": {
"Mode": "string
"
},
"QueryString": "string
"
}
請求參數
如需所有動作的一般參數資訊,請參閱《Common Parameters》。
請求接受採用 JSON 格式的下列資料。
- ClientToken
-
提出
Query
請求時,最多指定 64 個 ASCII 字元的唯一區分大小寫字串。提供Query
ClientToken
會呼叫等冪。這表示重複執行相同的查詢會產生相同的結果。換句話說,提出多個相同的Query
請求與提出單一請求的效果相同。在查詢ClientToken
中使用 時,請注意下列事項:-
如果在沒有 的情況下執行個體化查詢 API
ClientToken
,則查詢 SDKClientToken
會代表您產生 。 -
如果
Query
調用僅包含ClientToken
但不包含NextToken
,則 的調用Query
會假設為新的查詢執行。 -
如果調用包含
NextToken
,則會假設該特定調用是先前呼叫查詢 API 的後續調用,並傳回結果集。 -
4 小時後,任何具有相同 的請求
ClientToken
都會視為新的請求。
類型:字串
長度限制:長度下限為 32。長度上限為 128。
必要:否
-
- MaxRows
-
要在
Query
輸出中傳回的資料列總數。Query
具有指定MaxRows
值的 初始執行會在兩種情況下傳回查詢的結果集:-
結果的大小小於
1MB
。 -
結果集中的資料列數小於 的值
maxRows
。
否則, 的初始調用
Query
只會傳回NextToken
,然後可用於後續呼叫以擷取結果集。若要繼續分頁,請在後續命令中提供NextToken
值。如果資料列大小很大 (例如資料列有多個資料欄),Timestream 可能會傳回較少的資料列,以避免回應大小超過 1 MB 的限制。如果
MaxRows
未提供 ,Timestream 會傳送必要的資料列數,以符合 1 MB 的限制。類型:整數
有效範圍:最小值為 1。最大值為 1000。
必要:否
-
- NextToken
-
用於傳回一組結果的分頁字符。使用 叫用
Query
API 時NextToken
,會假設該特定叫用是先前呼叫 的後續叫用Query
,並傳回結果集。不過,如果Query
調用僅包含ClientToken
,則 的調用Query
會假設為新的查詢執行。在查詢中使用 NextToken 時,請注意下列事項:
-
分頁字符最多可以用於五個
Query
叫用,或長達 1 小時,以先到者為準。 -
使用相同的
NextToken
會傳回相同的記錄集。若要繼續分頁結果集,您必須使用最新的nextToken
。 -
假設
Query
調用會傳回兩個NextToken
值TokenA
和TokenB
。如果TokenB
在後續Query
調用中使用 ,則TokenA
會失效且無法重複使用。 -
若要在分頁開始後從查詢請求先前的結果集,您必須重新叫用查詢 API。
-
NextToken
應該使用最新的 分頁,直到傳回null
為止,此時NextToken
應使用新的 。 -
如果查詢啟動器的 IAM 主體和結果讀取器不同和/或查詢啟動器,且結果讀取器在查詢請求中沒有相同的查詢字串,則查詢會失敗並顯示
Invalid pagination token
錯誤。
類型:字串
長度限制:長度下限為 1。長度上限為 2048。
必要:否
-
- QueryInsights
-
封裝啟用 的設定
QueryInsights
。啟用 會
QueryInsights
傳回洞見和指標,以及您所執行查詢的查詢結果。您可以使用QueryInsights
來調整查詢效能。類型:QueryInsights 物件
必要:否
- QueryString
-
Timestream 要執行的查詢。
類型:字串
長度限制:長度下限為 1。長度上限為 262144。
必要:是
回應語法
{
"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"
}
]
}
]
}
]
}
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
服務會傳回下列 JSON 格式的資料。
- ColumnInfo
-
傳回結果集的資料欄資料類型。
類型:ColumnInfo 物件陣列
- NextToken
-
可在
Query
呼叫中再次使用的分頁字符,以取得下一組結果。類型:字串
長度限制:長度下限為 1。長度上限為 2048。
- QueryId
-
指定查詢的唯一 ID。
類型:字串
長度限制:長度下限為 1。長度上限為 64。
模式:
[a-zA-Z0-9]+
- QueryInsightsResponse
-
封裝
QueryInsights
包含與您執行之查詢相關的洞見和指標。類型:QueryInsightsResponse 物件
- QueryStatus
-
查詢狀態的相關資訊,包括掃描的進度和位元組。
類型:QueryStatus 物件
- Rows
-
查詢傳回的結果集資料列。
類型:Row 物件陣列
錯誤
如需所有動作常見錯誤的資訊,請參閱常見錯誤。
- AccessDeniedException
-
您沒有存取帳戶設定的必要許可。
HTTP 狀態碼:400
- ConflictException
-
無法輪詢已取消查詢的結果。
HTTP 狀態碼:400
- InternalServerException
-
處理請求時發生內部伺服器錯誤。
HTTP 狀態碼:400
- InvalidEndpointException
-
請求的端點無效。
HTTP 狀態碼:400
- QueryExecutionException
-
Timestream 無法成功執行查詢。
HTTP 狀態碼:400
- ThrottlingException
-
請求因請求過多而受到限流。
HTTP 狀態碼:400
- ValidationException
-
無效或格式不正確的請求。
HTTP 狀態碼:400
另請參閱
如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊,請參閱下列內容: