All Products
Search
Document Center

:Menulis titik data multi-nilai

Last Updated:Mar 29, 2026

Dokumen ini menjelaskan cara menulis titik data multi-nilai ke Time Series Database (TSDB) menggunakan titik akhir /api/mput. Setiap titik data termasuk dalam satu sumber data pada stempel waktu tertentu dan membawa nilai dari beberapa bidang metrik—misalnya, cpu, mem, dan load untuk sebuah server—dalam satu operasi penulisan.

Cara kerja

Titik data multi-nilai mengelompokkan beberapa nilai bidang metrik di bawah satu nama metrik, satu stempel waktu, dan satu set tag. Pendekatan ini berbeda dari model nilai tunggal (/api/put), di mana setiap bidang memerlukan titik data terpisah.

Semua permintaan menggunakan POST /api/mput dengan larik JSON dalam badan permintaan. Pilih mode penulisan dengan menambahkan parameter kueri ke URL:

Mode penulisanParameter kueriTanggapan
Sederhana_(tidak ada)_Hanya kode status
Statistiksummarysuccess, jumlah failed
Detaildetailssuccess, failed, errors (kegagalan pertama)
Toleransi kesalahanignoreErrorssuccess, failed, errors (semua kegagalan)

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Akses jaringan ke titik akhir HTTP TSDB

  • Setidaknya satu pasangan kunci-nilai tag untuk setiap titik data

Pada Edisi Ketersediaan Tinggi, panjang nama metrik dapat mencapai 255 byte.

Menulis titik data multi-nilai

Kirim permintaan POST ke /api/mput dengan larik JSON berisi titik data dalam badan permintaan. Setiap titik data harus menyertakan metric, timestamp, fields, dan tags.

Permintaan

Titik akhir

POST /api/mput

Parameter kueri

Tambahkan parameter berikut ke URL untuk mengontrol format tanggapan. Parameter tanpa tipe bernilai true jika disertakan, terlepas dari nilai yang diberikan.

ParameterTipeBawaanDeskripsiContoh
summaryTanpa tipefalseMengembalikan statistik penulisan (jumlah success dan failed)./api/mput?summary
detailsTanpa tipefalseMengembalikan statistik penulisan dan kesalahan penulisan pertama. Jika summary dan details keduanya disertakan, details memiliki prioritas lebih tinggi./api/mput?details
sync_timeoutInteger0Timeout dalam milidetik. 0 berarti tanpa timeout./api/mput?sync&sync_timeout=60000
ignoreErrorsTanpa tipefalseMelanjutkan penulisan titik data yang tersisa ketika salah satu gagal./api/mput?ignoreErrors

Isi Permintaan

Kirimkan larik JSON di mana setiap elemen merupakan titik data dengan bidang-bidang berikut:

BidangTipeWajibBatasanDeskripsi
metricStringYaHuruf, angka, dan -_./():,[]='#. Maksimal 255 byte pada Edisi Ketersediaan Tinggi.Nama metrik.
timestampLongYaLihat Aturan stempel waktu.Stempel waktu titik data, dalam detik atau milidetik.
fieldsMapYaNama bidang mengikuti aturan karakter yang sama seperti metric. Nilai harus bertipe STRING, NUMBER, atau BOOLEAN. Nilai STRING dapat mencapai 20 KB.Pasangan kunci-nilai bidang metrik.
tagsMapYaHuruf, angka, dan -_./():,[]='#. Diperlukan minimal satu pasangan kunci-nilai tag. Nilai non-string dikonversi ke STRING secara otomatis.Pasangan kunci-nilai tag untuk titik data.

Contoh permintaan

POST /api/mput
Content-Type: application/json

[
  {
    "metric": "wind",
    "fields": {
      "speed": 20.8,
      "level": 4,
      "direction": "East",
      "description": "Fresh breeze"
    },
    "tags": {
      "sensor": "IOTE_8859_0001",
      "city": "hangzhou",
      "province": "zhejiang",
      "country": "china"
    },
    "timestamp": 1346846400
  },
  {
    "metric": "wind",
    "fields": {
      "speed": 40.2,
      "level": 6,
      "direction": "South",
      "description": "Fresh breeze"
    },
    "tags": {
      "sensor": "IOTE_8859_0002",
      "city": "hangzhou",
      "province": "zhejiang",
      "country": "china"
    },
    "timestamp": 1346846401
  }
]

Aturan stempel waktu

TSDB menentukan satuan stempel waktu berdasarkan nilai numeriknya. Aturan ini berlaku untuk /api/put, /api/mput, /api/query, dan /api/mquery.

Rentang nilaiSatuanRentang tanggal yang sesuai
4.294.968 – 4.294.967.295Detik1970-02-20 01:02:48 – 2106-02-07 14:28:15
4.294.967.296 – 9.999.999.999.999Milidetik1970-02-20 01:02:47.296 – 2286-11-21 01:46:39.999
Di luar kedua rentang tersebutTidak valid

Mode penulisan

Pilih mode penulisan berdasarkan tingkat detail tanggapan yang dibutuhkan oleh aplikasi Anda.

Mode sederhana

Tidak memerlukan parameter kueri. Mengembalikan HTTP 204 jika berhasil. Jika gagal, mengembalikan kode kesalahan dan pesan kesalahan.

Gunakan mode ini untuk data pemantauan umum di mana kesalahan penulisan tidak diharapkan dan logika pengulangan ditangani secara eksternal.

Mode statistik

Tambahkan ?summary ke URL permintaan. Mengembalikan jumlah success dan failed terlepas dari hasil penulisan.

{
  "success": 20,
  "failed": 0
}
Bidang tanggapanTipeDeskripsi
successIntegerJumlah titik data yang ditulis. Dihitung menggunakan model nilai tunggal: setiap bidang dalam titik data multi-nilai dihitung secara terpisah.
failedIntegerJumlah titik data yang gagal.
Pada mode statistik, semua titik data dalam satu permintaan api/mput akan berhasil atau gagal secara bersamaan. Jika ada satu titik data yang gagal, failed mencerminkan jumlah total titik data dalam permintaan tersebut.

Gunakan mode ini saat Anda perlu melacak statistik throughput penulisan.

Mode detail

Tambahkan ?details ke URL permintaan. Memperluas mode statistik dengan menyertakan kegagalan penulisan pertama dalam tanggapan.

Bidang tanggapanTipeDeskripsi
successIntegerJumlah titik data yang ditulis.
failedIntegerJumlah titik data yang gagal.
errorsArrayDetail titik data pertama yang gagal, termasuk titik datanya dan penyebab kegagalannya.
Pada mode detail, semua titik data dalam permintaan berhasil atau gagal secara bersamaan. Larik errors hanya berisi kegagalan pertama. Periksa failed untuk mengetahui jumlah total kegagalan.

Gunakan mode ini saat Anda perlu mengidentifikasi penyebab kegagalan penulisan.

Mode toleransi kesalahan

Tambahkan ?ignoreErrors ke URL permintaan. Menulis setiap titik data secara independen—kegagalan pada satu titik data tidak menghentikan penulisan titik data lainnya.

Bidang tanggapanTipeDeskripsi
successIntegerJumlah titik data yang ditulis.
failedIntegerJumlah titik data yang gagal.
errorsArraySemua titik data yang gagal, masing-masing disertai titik datanya dan penyebab kegagalannya. Titik data yang tidak tercantum dalam errors berhasil ditulis.
Mengembalikan HTTP 200 jika setidaknya satu titik data berhasil ditulis. Mengembalikan kode status selain 200 hanya jika semua titik data gagal karena kesalahan kritis seperti kegagalan penyimpanan dasar.

Gunakan mode ini saat permintaan Anda mungkin berisi campuran titik data valid dan tidak valid, dan Anda ingin memaksimalkan jumlah titik data yang berhasil ditulis.

Diferensiasi API

Gunakan titik akhir yang tepat untuk setiap operasi:

OperasiTitik akhir
Menulis titik data nilai tunggalPOST /api/put
Menulis titik data multi-nilaiPOST /api/mput
Mengkueri titik data nilai tunggalGET /api/query
Mengkueri titik data multi-nilaiGET /api/mquery