在 InfluxDB 2.0 中查询原始值并采样频率为5秒可以使用 Flux 查询语言。Flux 是一种功能强大的数据处理语言,适用于从 InfluxDB 中提取、转换和操作数据。
以下是一个示例 Flux 查询,用于获取名为 “temperature” 的测量项中某个标签为 “location=room-1” 的所有记录的原始值,并采样频率为5秒:
from influxdb_client import InfluxDBClient, Query
client = InfluxDBClient(url="http://localhost:8086", token="my-token")
query = Query('from(bucket:"my-bucket") \
|> range(start: -1h) \
|> filter(fn: (r) => r._measurement == "temperature" and r.location == "room-1") \
|> sample(n: 5s)')
result = client.query_api().query(query=query, org="my-org")
print(result)
在上面的代码中,我们使用 Flux 查询语言来指定要查询的数据源,并对其进行筛选和采样操作。最后调用 query() 方法将查询发送到 InfluxDB 并获取结果。该查询将返回一个包含原始值的表格数据(table data),其中每个时间间隔内的数据点均匀分布在该时间段内。
需要注意的是,在执行 Flux 查询之前,需要确保已经安装了相应版本的 InfluxDB Python 客户端库,并且已经正确配置了连接参数(例如 URL 和访问令牌)。