Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
WriteRecords
Memungkinkan Anda untuk menulis data deret waktu Anda ke Timestream. Anda dapat menentukan satu titik data atau sekumpulan titik data yang akan dimasukkan ke dalam sistem. Timestream menawarkan skema fleksibel yang secara otomatis mendeteksi nama kolom dan tipe data untuk tabel Timestream Anda berdasarkan nama dimensi dan tipe data dari titik data yang Anda tentukan saat menjalankan penulisan ke dalam database.
Timestream mendukung semantik baca konsistensi akhirnya. Ini berarti bahwa ketika Anda melakukan kueri data segera setelah menulis kumpulan data ke Timestream, hasil kueri mungkin tidak mencerminkan hasil operasi penulisan yang baru saja selesai. Hasilnya mungkin juga mencakup beberapa data basi. Jika Anda mengulangi permintaan kueri setelah waktu yang singkat, hasilnya akan mengembalikan data terbaru. Service quotas berlaku.
Lihat sampel kode untuk detail.
Upserts
Anda dapat menggunakan Version
parameter dalam WriteRecords
permintaan untuk memperbarui titik data. Timestream melacak nomor versi dengan setiap catatan. Version
default 1
ketika tidak ditentukan untuk catatan dalam permintaan. Timestream memperbarui nilai ukuran rekaman yang ada bersama dengan Version
saat menerima permintaan tulis dengan Version
angka yang lebih tinggi untuk catatan itu. Ketika menerima permintaan pembaruan di mana nilai ukurannya sama dengan catatan yang ada, Timestream masih memperbaruiVersion
, jika lebih besar dari Version
nilai yang ada. Anda dapat memperbarui titik data sebanyak yang diinginkan, selama nilai Version
terus meningkat.
Misalnya, Anda menulis catatan baru tanpa menunjukkan Version
dalam permintaan. Timestream menyimpan catatan ini, dan diatur Version
ke1
. Sekarang, misalkan Anda mencoba memperbarui catatan ini dengan WriteRecords
permintaan catatan yang sama dengan nilai ukuran yang berbeda tetapi, seperti sebelumnya, jangan berikanVersion
. Dalam hal ini, Timestream akan menolak pembaruan ini dengan RejectedRecordsException
karena versi rekaman yang diperbarui tidak lebih besar dari nilai Versi yang ada.
Namun, jika Anda mengirim ulang permintaan pembaruan dengan Version
set ke2
, Timestream kemudian akan berhasil memperbarui nilai catatan, dan Version
akan disetel ke. 2
Selanjutnya, misalkan Anda mengirim WriteRecords
permintaan dengan catatan yang sama dan nilai ukuran yang identik, tetapi dengan Version
set ke3
. Dalam hal ini, Timestream hanya akan memperbarui Version
ke3
. Setiap pembaruan lebih lanjut perlu mengirim nomor versi yang lebih besar dari3
, atau permintaan pembaruan akan menerima fileRejectedRecordsException
.
Sintaksis Permintaan
{
"CommonAttributes": {
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
},
"DatabaseName": "string
",
"Records": [
{
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
}
],
"TableName": "string
"
}
Parameter Permintaan
Untuk informasi tentang parameter yang umum untuk semua tindakan, lihat Parameter Umum.
Permintaan menerima data berikut dalam JSON format.
- CommonAttributes
-
Catatan yang berisi atribut ukuran, dimensi, waktu, dan versi umum yang dibagikan di semua catatan dalam permintaan. Atribut ukuran dan dimensi yang ditentukan akan digabungkan dengan atribut ukuran dan dimensi dalam objek rekaman saat data ditulis ke Timestream. Dimensi mungkin tidak tumpang tindih, atau
ValidationException
akan dilemparkan. Dengan kata lain, catatan harus berisi dimensi dengan nama unik.Tipe: Objek Record
Wajib: Tidak
- DatabaseName
-
Nama basis data Timestream.
Tipe: String
Batasan Panjang: Panjang minimum 3. Panjang maksimum 256.
Wajib: Ya
- Records
-
Larik catatan yang berisi atribut ukuran, dimensi, waktu, dan versi unik untuk setiap titik data deret waktu.
Tipe: Array objek Record
Anggota Array: Jumlah minimum 1 item. Jumlah maksimum 100 item.
Wajib: Ya
- TableName
-
Nama tabel Timestream.
Tipe: String
Batasan Panjang: Panjang minimum 3. Panjang maksimum 256.
Wajib: Ya
Sintaksis Respons
{
"RecordsIngested": {
"MagneticStore": number,
"MemoryStore": number,
"Total": number
}
}
Elemen Respons
Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.
Data berikut dikembalikan dalam JSON format oleh layanan.
- RecordsIngested
-
Informasi tentang catatan yang dicerna oleh permintaan ini.
Tipe: Objek RecordsIngested
Kesalahan
Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.
- AccessDeniedException
-
Anda tidak berwenang untuk melakukan tindakan ini.
HTTPKode Status: 400
- InternalServerException
-
Timestream tidak dapat sepenuhnya memproses permintaan ini karena kesalahan server internal.
HTTPKode Status: 500
- InvalidEndpointException
-
Endpoint yang diminta tidak valid.
HTTPKode Status: 400
- RejectedRecordsException
-
WriteRecords akan membuang pengecualian ini dalam kasus berikut:
-
Rekaman dengan data duplikat di mana ada beberapa catatan dengan dimensi, stempel waktu, dan nama ukuran yang sama tetapi:
-
Nilai ukur berbeda
-
Versi tidak hadir dalam permintaan atau nilai versi dalam catatan baru sama dengan atau lebih rendah dari nilai yang ada
Dalam hal ini, jika Timestream menolak data,
ExistingVersion
bidang dalamRejectedRecords
respons akan menunjukkan versi rekaman saat ini. Untuk memaksa pembaruan, Anda dapat mengirim ulang permintaan dengan versi untuk catatan yang ditetapkan ke nilai yang lebih besar dariExistingVersion
. -
-
Catatan dengan stempel waktu yang berada di luar durasi retensi penyimpanan memori.
-
Rekaman dengan dimensi atau ukuran yang melebihi batas yang ditentukan Timestream.
Untuk informasi selengkapnya, lihat Kuota di Panduan Pengembang Amazon Timestream.
HTTPKode Status: 400
-
- ResourceNotFoundException
-
Operasi mencoba mengakses sumber daya yang tidak ada. Sumber daya mungkin tidak ditentukan dengan benar, atau statusnya mungkin tidakACTIVE.
HTTPKode Status: 400
- ThrottlingException
-
Terlalu banyak permintaan yang dibuat oleh pengguna dan mereka melebihi kuota layanan. Permintaan itu dibatasi.
HTTPKode Status: 400
- ValidationException
-
Permintaan yang 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: