Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Query
Query
adalah operasi sinkron yang memungkinkan Anda menjalankan kueri terhadap data Amazon Timestream Anda.
Jika Anda mengaktifkanQueryInsights
, ini API juga menampilkan wawasan dan metrik yang terkait dengan kueri yang Anda jalankan. QueryInsights
membantu penyetelan kinerja kueri Anda. Untuk informasi selengkapnyaQueryInsights
, lihat Menggunakan wawasan kueri untuk mengoptimalkan kueri di Amazon Timestream.
catatan
Jumlah maksimum Query
API permintaan yang diizinkan untuk Anda buat dengan QueryInsights
diaktifkan adalah 1 kueri per detik (QPS). Jika Anda melebihi tingkat kueri ini, itu mungkin mengakibatkan pelambatan.
Query
akan habis setelah 60 detik. Anda harus memperbarui batas waktu default SDK untuk mendukung batas waktu 60 detik. Lihat contoh kode untuk detailnya.
Permintaan kueri Anda akan gagal dalam kasus berikut:
-
Jika Anda mengirimkan
Query
permintaan dengan token klien yang sama di luar jendela idempotensi 5 menit. -
Jika Anda mengirimkan
Query
permintaan dengan token klien yang sama, tetapi mengubah parameter lain, dalam jendela idempotensi 5 menit. -
Jika ukuran baris (termasuk metadata kueri) melebihi 1 MB, maka kueri akan gagal dengan pesan kesalahan berikut:
Query aborted as max page response size has been exceeded by the output result row
-
Jika IAM prinsipal inisiator kueri dan pembaca hasil tidak sama dan/atau inisiator kueri dan pembaca hasil tidak memiliki string kueri yang sama dalam permintaan kueri, kueri akan gagal dengan kesalahan
Invalid pagination token
.
Sintaksis Permintaan
{
"ClientToken": "string
",
"MaxRows": number
,
"NextToken": "string
",
"QueryInsights": {
"Mode": "string
"
},
"QueryString": "string
"
}
Parameter Permintaan
Untuk informasi tentang parameter yang umum untuk semua tindakan, lihat Parameter Umum.
Permintaan menerima data berikut dalam JSON format.
- ClientToken
-
String unik dan peka huruf besar/kecil hingga 64 ASCII karakter yang ditentukan saat
Query
permintaan dibuat.ClientToken
Memberikan panggilan untukQuery
idempoten. Ini berarti bahwa menjalankan kueri yang sama berulang kali akan menghasilkan hasil yang sama. Dengan kata lain, membuat beberapaQuery
permintaan identik memiliki efek yang sama seperti membuat permintaan tunggal. Saat menggunakanClientToken
dalam kueri, perhatikan hal berikut:-
Jika Query API dipakai tanpa a
ClientToken
, Query akan SDK menghasilkan aClientToken
atas nama Anda. -
Jika
Query
pemanggilan hanya berisiClientToken
tetapi tidak menyertakan aNextToken
, pemanggilan tersebut diasumsikan sebagaiQuery
kueri baru yang dijalankan. -
Jika pemanggilan berisi
NextToken
, pemanggilan tertentu diasumsikan sebagai pemanggilan berikutnya dari panggilan sebelumnya ke KueriAPI, dan kumpulan hasil dikembalikan. -
Setelah 4 jam, permintaan apa pun dengan hal
ClientToken
yang sama diperlakukan sebagai permintaan baru.
Tipe: String
Kendala Panjang: Panjang minimum 32. Panjang maksimum 128.
Wajib: Tidak
-
- MaxRows
-
Jumlah total baris yang akan dikembalikan dalam
Query
output. Jalankan awalQuery
denganMaxRows
nilai yang ditentukan akan mengembalikan kumpulan hasil kueri dalam dua kasus:-
Ukuran hasilnya kurang dari
1MB
. -
Jumlah baris dalam set hasil kurang dari nilai
maxRows
.
Jika tidak, pemanggilan awal
Query
hanya mengembalikan aNextToken
, yang kemudian dapat digunakan dalam panggilan berikutnya untuk mengambil set hasil. Untuk melanjutkan pagination, berikanNextToken
nilai dalam perintah berikutnya.Jika ukuran baris besar (misalnya baris memiliki banyak kolom), Timestream dapat mengembalikan lebih sedikit baris agar ukuran respons tidak melebihi batas 1 MB. Jika tidak
MaxRows
disediakan, Timestream akan mengirimkan jumlah baris yang diperlukan untuk memenuhi batas 1 MB.Jenis: Integer
Rentang yang Valid: Nilai minimum 1. Nilai maksimum 1000.
Wajib: Tidak
-
- NextToken
-
Token pagination digunakan untuk mengembalikan serangkaian hasil. Ketika
Query
API dipanggil menggunakanNextToken
, pemanggilan tertentu diasumsikan sebagai pemanggilan berikutnya dari panggilan sebelumnya keQuery
, dan kumpulan hasil dikembalikan. Namun, jikaQuery
pemanggilan hanya berisiClientToken
, pemanggilan tersebutQuery
diasumsikan sebagai kueri baru yang dijalankan.Perhatikan hal berikut saat menggunakan NextToken dalam kueri:
-
Token pagination dapat digunakan hingga lima
Query
pemanggilan, ATAU untuk durasi hingga 1 jam — mana yang lebih dulu. -
Menggunakan yang sama
NextToken
akan mengembalikan set catatan yang sama. Untuk terus melakukan paginasi melalui set hasil, Anda harus menggunakan yang terbaru.nextToken
-
Misalkan
Query
pemanggilan mengembalikan duaNextToken
nilai,TokenA
dan.TokenB
JikaTokenB
digunakan dalamQuery
pemanggilan berikutnya, maka tidak valid danTokenA
tidak dapat digunakan kembali. -
Untuk meminta set hasil sebelumnya dari kueri setelah pagination dimulai, Anda harus memanggil ulang Query. API
-
Yang terbaru
NextToken
harus digunakan untuk paginasi sampainull
dikembalikan, pada titik mana yang baruNextToken
harus digunakan. -
Jika IAM prinsipal inisiator kueri dan pembaca hasil tidak sama dan/atau inisiator kueri dan pembaca hasil tidak memiliki string kueri yang sama dalam permintaan kueri, kueri akan gagal dengan kesalahan
Invalid pagination token
.
Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum 2048.
Wajib: Tidak
-
- QueryInsights
-
Merangkum pengaturan untuk mengaktifkan.
QueryInsights
Mengaktifkan
QueryInsights
mengembalikan wawasan dan metrik selain hasil kueri untuk kueri yang Anda jalankan. Anda dapat menggunakanQueryInsights
untuk menyetel kinerja kueri Anda.Tipe: Objek QueryInsights
Wajib: Tidak
- QueryString
-
Query yang akan dijalankan oleh Timestream.
Tipe: String
Panjang Batasan: Panjang minimum 1. Panjang maksimum 262144.
Wajib: Ya
Sintaksis Respons
{
"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"
}
]
}
]
}
]
}
Elemen Respons
Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.
Data berikut dikembalikan dalam JSON format oleh layanan.
- ColumnInfo
-
Tipe data kolom dari set hasil yang dikembalikan.
Tipe: Array objek ColumnInfo
- NextToken
-
Token pagination yang dapat digunakan lagi pada
Query
panggilan untuk mendapatkan set hasil berikutnya.Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum 2048.
- QueryId
-
ID unik untuk kueri yang diberikan.
Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
Pola:
[a-zA-Z0-9]+
- QueryInsightsResponse
-
Merangkum
QueryInsights
berisi wawasan dan metrik yang terkait dengan kueri yang Anda jalankan.Tipe: Objek QueryInsightsResponse
- QueryStatus
-
Informasi tentang status kueri, termasuk kemajuan dan byte yang dipindai.
Tipe: Objek QueryStatus
- Rows
-
Hasil set baris dikembalikan oleh query.
Tipe: Array objek Row
Kesalahan
Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.
- AccessDeniedException
-
Anda tidak berwenang untuk melakukan tindakan ini.
HTTPKode Status: 400
- ConflictException
-
Tidak dapat melakukan polling hasil untuk kueri yang dibatalkan.
HTTPKode Status: 400
- InternalServerException
-
Layanan tidak dapat sepenuhnya memproses permintaan ini karena kesalahan server internal.
HTTPKode Status: 400
- InvalidEndpointException
-
Endpoint yang diminta tidak valid.
HTTPKode Status: 400
- QueryExecutionException
-
Timestream tidak dapat menjalankan kueri dengan sukses.
HTTPKode Status: 400
- ThrottlingException
-
Permintaan ditolak karena throttling permintaan.
HTTPKode Status: 400
- ValidationException
-
Permintaan tidak valid atau cacat.
HTTPKode Status: 400
Lihat Juga
Untuk informasi selengkapnya tentang penggunaan ini API di salah satu bahasa khusus AWS SDKs, lihat berikut ini: