Untuk kemampuan serupa dengan Amazon Timestream LiveAnalytics, pertimbangkan Amazon Timestream untuk InfluxDB. Ini menawarkan konsumsi data yang disederhanakan dan waktu respons kueri milidetik satu digit untuk analitik waktu nyata. Pelajari lebih lanjut di sini.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Query
Queryadalah operasi sinkron yang memungkinkan Anda menjalankan kueri terhadap data Amazon Timestream Anda.
Jika Anda mengaktifkanQueryInsights, API ini juga menampilkan insight dan metrik yang terkait dengan kueri yang Anda jalankan. QueryInsightsmembantu penyetelan kinerja kueri Anda. Untuk informasi selengkapnyaQueryInsights, lihat Menggunakan wawasan kueri untuk mengoptimalkan kueri di Amazon Timestream.
catatan
Jumlah maksimum permintaan Query API yang diizinkan untuk Anda buat dengan QueryInsights diaktifkan adalah 1 kueri per detik (QPS). Jika Anda melebihi tingkat kueri ini, itu mungkin mengakibatkan pelambatan.
Queryakan habis setelah 60 detik. Anda harus memperbarui batas waktu default di SDK untuk mendukung batas waktu 60 detik. Lihat contoh kode untuk detailnya.
Permintaan kueri Anda akan gagal dalam kasus berikut:
-
Jika Anda mengirimkan
Querypermintaan dengan token klien yang sama di luar jendela idempotensi 5 menit. -
Jika Anda mengirimkan
Querypermintaan 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 prinsipal IAM dari inisiator kueri dan pembaca hasil tidak sama and/or dengan 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 format JSON.
- ClientToken
-
String unik dan peka huruf besar/kecil hingga 64 karakter ASCII yang ditentukan saat permintaan dibuat.
QueryClientTokenMemberikan panggilan untukQueryidempoten. Ini berarti bahwa menjalankan kueri yang sama berulang kali akan menghasilkan hasil yang sama. Dengan kata lain, membuat beberapaQuerypermintaan identik memiliki efek yang sama seperti membuat permintaan tunggal. Saat menggunakanClientTokendalam kueri, perhatikan hal berikut:-
Jika Query API dipakai tanpa a
ClientToken, Query SDK akan menghasilkanClientTokenatas nama Anda. -
Jika
Querypemanggilan hanya berisiClientTokentetapi tidak menyertakan aNextToken, pemanggilan tersebut diasumsikan sebagaiQuerykueri baru yang dijalankan. -
Jika pemanggilan berisi
NextToken, pemanggilan tertentu diasumsikan sebagai pemanggilan berikutnya dari panggilan sebelumnya ke Query API, dan kumpulan hasil dikembalikan. -
Setelah 4 jam, permintaan apa pun dengan hal
ClientTokenyang 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
Queryoutput. Proses awalQuerydenganMaxRowsnilai 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
Queryhanya mengembalikan aNextToken, yang kemudian dapat digunakan dalam panggilan berikutnya untuk mengambil set hasil. Untuk melanjutkan pagination, berikanNextTokennilai 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
MaxRowsdisediakan, Timestream akan mengirimkan jumlah baris yang diperlukan untuk memenuhi batas 1 MB.Tipe: Bilangan Bulat
Rentang yang Valid: Nilai minimum 1. Nilai maksimum 1000.
Wajib: Tidak
-
- NextToken
-
Token pagination digunakan untuk mengembalikan serangkaian hasil. Ketika
QueryAPI dipanggil menggunakanNextToken, pemanggilan tertentu diasumsikan sebagai pemanggilan berikutnya dari panggilan sebelumnyaQuery, dan kumpulan hasil dikembalikan. Namun, jikaQuerypemanggilan hanya berisiClientToken, pemanggilan tersebutQuerydiasumsikan sebagai kueri baru yang dijalankan.Perhatikan hal berikut saat menggunakan NextToken dalam kueri:
-
Token pagination dapat digunakan hingga lima
Querypemanggilan, ATAU untuk durasi hingga 1 jam — mana yang lebih dulu. -
Menggunakan yang sama
NextTokenakan mengembalikan set catatan yang sama. Untuk terus melakukan paginasi melalui set hasil, Anda harus menggunakan yang terbaru.nextToken -
Misalkan
Querypemanggilan mengembalikan duaNextTokennilai,TokenAdan.TokenBJikaTokenBdigunakan dalamQuerypemanggilan berikutnya, maka tidak valid danTokenAtidak dapat digunakan kembali. -
Untuk meminta set hasil sebelumnya dari kueri setelah pagination dimulai, Anda harus memanggil kembali Query API.
-
Yang terbaru
NextTokenharus digunakan untuk paginasi sampainulldikembalikan, pada titik mana yang baruNextTokenharus digunakan. -
Jika prinsipal IAM dari inisiator kueri dan pembaca hasil tidak sama and/or dengan 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.
QueryInsightsMengaktifkan
QueryInsightsmengembalikan wawasan dan metrik selain hasil kueri untuk kueri yang Anda jalankan. Anda dapat menggunakanQueryInsightsuntuk menyetel kinerja kueri Anda.Tipe: Objek QueryInsights
Wajib: Tidak
- QueryString
-
Query yang akan dijalankan oleh Timestream.
Tipe: String
Batasan Panjang: 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.
Layanan mengembalikan data berikut dalam format JSON.
- ColumnInfo
-
Tipe data kolom dari set hasil yang dikembalikan.
Tipe: Array objek ColumnInfo
- NextToken
-
Token pagination yang dapat digunakan lagi pada
Querypanggilan 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
QueryInsightsberisi 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 memiliki izin yang diperlukan untuk mengakses pengaturan akun.
Kode Status HTTP: 400
- ConflictException
-
Tidak dapat melakukan polling hasil untuk kueri yang dibatalkan.
Kode Status HTTP: 400
- InternalServerException
-
Terjadi kesalahan server internal saat memproses permintaan.
Kode Status HTTP: 400
- InvalidEndpointException
-
Endpoint yang diminta tidak valid.
Kode Status HTTP: 400
- QueryExecutionException
-
Timestream tidak dapat menjalankan kueri dengan sukses.
Kode Status HTTP: 400
- ThrottlingException
-
Permintaan itu dibatasi karena permintaan yang berlebihan.
Kode Status HTTP: 400
- ValidationException
-
Permintaan tidak valid atau cacat.
Kode Status HTTP: 400
Lihat Juga
Untuk informasi selengkapnya tentang penggunaan API ini di salah satu bahasa khusus AWS SDKs, lihat berikut ini: