InfluxDB Client 查询数据返回 JSON 格式数据
InfluxDB Client可以使用query()方法查询数据,并返回JSON格式的数据。示例代码如下:
from influxdb_client import InfluxDBClient, Point, WritePrecision
from influxdb_client.client.write_api import SYNCHRONOUS
# 创建InfluxDBClient实例
client = InfluxDBClient(url='http://localhost:8086', token='my-token', org='my-org')
# 查询数据
query = 'from(bucket: 'my-bucket') |> range(start: -1h) |> filter(fn: (r) => r._measurement == "temperature")'
result = client.query_api().query(query)
# 打印查询结果
print(result)
查询结果示例:
{
"results": [
{
"statement_id": 0,
"series": [
{
"name": "temperature",
"tags": {
"sensor": "sensor-1"
},
"columns": [
"time",
"value"
],
"values": [
[
"2021-11-01T00:00:00Z",
22.3
],
[
"2021-11-01T01:00:00Z",
23.1
],
[
"2021-11-01T02:00:00Z",
22.8
],
...
]
}
]
}
]
}
可以看到,查询结果是一个嵌套的JSON对象,其中最外层的'results'数组包含了查询结果的所有信息。每个'results'元素是一个包含了查询语句ID和查询结果的JSON对象。在本例中,'statement_id'为0,表示这是第一条查询语句的结果。'series'数组包含了查询结果的所有数据系列。在本例中,我们只查询了一个数据系列,即'temperature'。'name'表示数据系列的名称,'tags'包含了所有的标签,'columns'包含了所有的列名,'values'包含了所有的数据行。每个数据行是一个数组,其中第一个元素是时间戳,第二个元素是数据值。
注意,在使用InfluxDB Client查询数据时,需要先创建InfluxDBClient实例,并使用'query_api()'方法创建查询API。然后,使用'query()'方法执行查询语句,并返回查询结果。查询结果是一个包含了所有查询结果的JSON对象。可以根据需要进行解析和处理。
原文地址: https://www.cveoy.top/t/topic/nibB 著作权归作者所有。请勿转载和采集!