5个版本 (3个稳定版本)
2.0.1 | 2022年8月15日 |
---|---|
2.0.0 | 2022年1月20日 |
1.0.0 | 2022年1月20日 |
0.1.2 | 2022年1月18日 |
0.1.1 | 2021年6月1日 |
#2145 在 数据库接口
每月27次下载
21KB
478 行
创建客户端
let client = InfluxClient::builder("www.example.com", "example-key", "example-org").build().unwrap();
写入数据
let measurement = Measurement::builder("m1")
.tag("tag1", "tag1_value")
.tag("tag2", "tag2_value")
.field("field1", "string_value")
.field("field2", true)
.timestamp_ms(1622493622) // milliseconds since the Unix epoch
.build()
.unwrap();
let response = client
.write("example-bucket", &[measurement]) // can post a batch if we want
.await
.unwrap();
查询数据
let response = client
.query(
Query::new(r#"from(bucket: "example-bucket")"#)
.then(r#"range(start: 1622493322, stop: 1622493922)"#)
.then(r#"filter(fn: (r) => r["_measurement"] == "m1")"#),
)
.await
.unwrap();
在查询数据时,返回一个 Vec<HashMap<String, String>>
,包含单个CSV记录
{
"result": "_result",
"_value": "string_value",
"table": "0",
"_start": "2021-06-01T11:13:15Z",
"_field": "field1",
"tag1": "tag1_value",
"tag2": "tag2_value",
"_time": "2021-06-01T11:16:05.684Z",
"_measurement": "m1",
"_stop": "2021-06-01T11:23:15Z",
}
依赖项
~12–21MB
~331K SLoC