Crates.io | influxdb_rs |
lib.rs | influxdb_rs |
version | 0.2.1 |
source | src |
created_at | 2022-08-02 19:52:55.201567 |
updated_at | 2023-04-20 18:59:38.957523 |
description | InfluxDBv2 Rust driver |
homepage | |
repository | https://github.com/infosechoudini/influxdb-rs |
max_upload_size | |
id | 637541 |
size | 132,257 |
InfluxDB Rust Client for Influx APIv2
This is the InfluxDB driver to be utilized with the Rust programming language. It is mainly ASYNC but will include future work to have synchronous actions as well. The driver is aimed to be used with the version 2 of the InfluxDB API. There can be backwards compatibility with the 1.x endpoints but that is not the true aim of this crate.
[dependencies]
influxdb_rs = "0.2"
use influxdb_rs::Client;
use url::Url;
use chrono::prelude::*;
#[tokio::main]
async fn main() {
let client = Client::new(Url::parse("http://localhost:8086").unwrap(), "test_bucket", "test_org", "0123456789").await.unwrap();
let now = Utc::now();
let point = Point::new("temporary")
.add_field("foo", "bar")
.add_field("integer", 11)
.add_field("float", 22.3)
.add_field("'boolean'", false)
.add_timestamp(now.timestamp());
let result = client.write_point(point, Some(Precision::Seconds), None).await;
if result.is_err(){
// Error!
}
let later = Utc::now().to_rfc3339().to_string();
client.drop_measurement("temporary", &now.to_rfc3339(), &later).await.unwrap();
}
InfluxDB APIv2 API Document
Tested:
OSS 2.3
OSS 2.2
OSS 2.1
Because influxdbclient-rs only supported the 1.x version. I ended up reading influxdb2-client and influxdb-client-go source code and then wrote a library for 2.x API version for support for my own use. influxdb2-client; although functioning, was not published to crates so I opted to build my own. Enjoy!