Topik ini menjelaskan cara menulis data ke LindormTSDB menggunakan protokol baris InfluxDB dan menyediakan contoh.
Informasi latar belakang
LindormTSDB kompatibel dengan format yang ditentukan oleh protokol baris InfluxDB. Untuk informasi lebih lanjut, lihat Protokol Baris. Anda dapat menggunakan aplikasi atau perangkat yang mendukung protokol baris InfluxDB untuk menulis data ke LindormTSDB.
Tipe data yang didukung
Sintaks protokol baris InfluxDB mendukung tipe data berikut: Float, Integer, String, Boolean, dan Timestamp. Tabel berikut menjelaskan tipe data yang didukung oleh protokol baris InfluxDB.
Tipe data | Deskripsi |
Float | Bilangan titik mengambang. Float adalah tipe data default. Contoh: 1, 1.0, 1.e+10, dan 1.E+10. |
Integer | Mendukung bilangan bulat 64-bit. Gunakan akhiran `i` untuk mengidentifikasi bilangan bulat. Angka tanpa akhiran diurai sebagai bilangan titik mengambang. Contoh: 12i dan 101i. |
String | Tipe string. Gunakan tanda kutip ganda (""). Contoh: "hello world". |
Boolean | Nilai boolean. Nilai valid: True dan False.
|
Timestamp | Timestamp. Protokol mendukung nanodetik (ns), tetapi data dikonversi ke milidetik (ms) untuk penyimpanan. Untuk mengubah presisi timestamp, atur parameter precision. |
Jalur permintaan
Jalur permintaan: /api/v2/write
Metode permintaan: POST
Saat membuat permintaan untuk menulis titik data ke LindormTSDB menggunakan protokol baris InfluxDB, Anda harus mengonversi format titik data ke format yang ditentukan oleh protokol baris InfluxDB, lalu menggunakan titik data tersebut sebagai isi permintaan POST. Tabel berikut menjelaskan parameter yang dapat dikonfigurasi dalam permintaan.
Parameter | Diperlukan | Deskripsi |
precision | Tidak | Presisi timestamp. Nilai default: ns. Nilai valid: ns, us, ms, s, m, dan h. |
db | Tidak | Nama database tempat Anda ingin menulis titik data. |
schema_policy | Tidak | Kebijakan batasan skema. Nilai default parameter ini adalah WEAK. Jika Anda menentukan kebijakan batasan lemah, tabel seri waktu dapat dibuat secara otomatis. Nilai valid:
Untuk informasi lebih lanjut, lihat Kebijakan batasan skema yang didukung. |
Tentukan kredensial pengguna untuk autentikasi
Jika autentikasi pengguna diaktifkan untuk LindormTSDB, Anda harus menambahkan kredensial pengguna ke Header permintaan HTTP saat mengirim permintaan ke /api/v2/write. Titik akhir /api/v2/write menggunakan metode BASIC AUTH. Kredensial yang telah dikodekan harus disertakan dalam bidang Authorization pada Header permintaan HTTP.
Anda dapat menentukan kredensial pengguna dalam format berikut untuk autentikasi dasar:
BASIC {informasi autentikasi yang dikodekan Base64}Informasi autentikasi yang dikodekan Base64 adalah string yang dikodekan Base64 dalam format ${username}:${password}.
Untuk informasi selengkapnya tentang cara mengkodekan dan menentukan kredensial pengguna untuk autentikasi dasar menggunakan berbagai bahasa pemrograman, lihat dokumentasi pustaka kelas terkait dari bahasa pemrograman tersebut.
Untuk username default `root` dan password `root`, nilai yang dikodekan Base64 untuk bidang Authorization dalam Header permintaan HTTP adalah sebagai berikut:
Authorization: Basic cm9vdDpyb290Format data protokol baris InfluxDB
Berikut ini menjelaskan format penulisan dan parameter untuk Line Protocol.
<table_name>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>] Parameter | Diperlukan | Deskripsi |
table_name | Ya | Nama tabel tempat Anda ingin menulis titik data. |
tag_set | Tidak | Tag dari titik data yang ingin Anda tulis. Tag dapat digunakan untuk mencari titik data yang telah ditulis. |
field_set | Ya | Bidang titik data yang ingin Anda tulis. |
timestamp | Tidak | Timestamp. Jika Anda tidak menentukan timestamp, sistem akan menggunakan waktu saat ini. Satuan default adalah nanodetik (ns). Penting
|
Pisahkan beberapa titik data dengan jeda baris (
\n).Saat menggunakan protokol baris InfluxDB untuk menulis titik data ke LindormTSDB, batasan skema yang digunakan oleh mesin bersifat lemah. Anda dapat mengonfigurasi parameter schema_policy untuk memodifikasi kebijakan batasan skema.
Contoh
Pernyataan berikut memberikan contoh cara menulis data ke LindormTSDB menggunakan protokol baris InfluxDB:
curl -X POST \
'http://ld-bp1489gr5t*****-proxy-tsdb.lindorm.rds.aliyuncs.com:8242/api/v2/write?precision=ms&db=default' \
-d '
sensor7,device_id=F07A1260,region=north-cn temperature=12.1,humidity=45i 1619076780000000000
sensor7,device_id=F07A1260,region=north-cn temperature=13.2,humidity=47i 1619076790000000000
sensor7,device_id=F07A1260,region=north-cn temperature=10.6,humidity=46i 1619076800000000000
sensor7,device_id=F07A1260,region=north-cn temperature=18.1,humidity=44i 1619076780000000000
sensor7,device_id=F07A1260,region=north-cn temperature=19.7,humidity=44i 1619076790000000000
'