WriteRecords - Amazon Timestream

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. Versiondefault 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 dalam RejectedRecords 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: