ZBLOG

influxdb 2.0 获取瞬时值

要获取 InfluxDB 2.0 中的瞬时值,您可以使用 last() 函数和 time() 函数结合起来。

last() 函数用于返回最新一条数据的指定字段值。例如,如果您想获取当前时间下某个传感器的温度值,您可以使用以下查询:

from(bucket: "my-bucket")
  |> range(start: -1m)
  |> filter(fn: (r) => r._measurement == "temperature" and r.sensor_id == "123")
  |> last(column: "_value")

在上面的示例中,我们使用 range() 函数获取过去一分钟内所有的温度记录,并通过 filter() 函数过滤出符合条件(测量类型为“temperature”且传感器 ID 为“123”)的记录。然后我们使用 last() 函数返回最新一条记录中 _value 字段的值。

如果你想获取特定时间点下某个传感器的温度值,你需要将查询语句修改为:

from(bucket: "my-bucket")
  |> range(start: -1h, stop: time(v: "2022-01-01T12:00:00Z"))
  |> filter(fn: (r) => r._measurement == "temperature" and r.sensor_id == "123")
  |> last(column: "_value")

在上面的示例中,我们使用 range() 函数指定了一个特定时间点作为结束时间,并通过 time() 函数设置了该时间点。其他部分与前一个查询相同。

请注意,在 InfluxDB 2.0 中,时间戳始终是 UTC 时间。如果您使用的是本地时间,请在查询中转换为 UTC 时间。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6185

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?