Python&xdb:获取最新的度量值

2024-06-16 12:40:57 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,关于我的应用程序的一些上下文:

  • 数据库是在XDB上创建的(在我的虚拟机中)
  • 我已经在写一份测量报告了
  • 脚本以每分钟一次的频率运行

我需要编写一个Python脚本来读取数据库。我只想获取最近的测量值,而不是所有值

这是我的密码:

from influxdb import InfluxDBClient

client = InfluxDBClient(database='test')
client = InfluxDBClient()

rs = cli.query("SELECT * from CoreTemperature")
CoreTemperature = list(rs.get_points(measurement='CoreTemperature'))

print(CoreTemperature)

我被困是因为:

  1. 此代码的输出为:**NameError: name 'cli' is not defined**
  2. 按测量值过滤,select * from CoreTemperature将读取为测量值保存的所有点,但我只需要最新的值

Tags: fromimport脚本client数据库应用程序密码cli
3条回答

听起来您希望将最新的测量值写入CoreTemperature。您可以使用^{} selector来获得:

LAST()
Returns the field value with the most recent timestamp.

像这样:

SELECT LAST(*) FROM CoreTemperature

大家早上好 我通过以下代码达到目标:

>from influxdb import InfluxDBClient

>dbClient = InfluxDBClient()
>loginRecords = dbClient.query('select last(*) from CoreTemperature', 
database='test')
>print(loginRecords)

谢谢大家的评论和帮助

第一个错误NameError: name 'cli' is not defined是因为您将influxdb客户机定义为client,并且在查询中将其称为cli

rs = client.query("SELECT * from CoreTemperature")

这将解决此错误

第二个错误将通过以下方式解决:

client.query('SELECT last(<field_name>), time FROM CoreTemperature ')

相关问题 更多 >