首页 > 解决方案 > 如何在将数据从一个测量值复制到另一个测量值时插入当前时间?

问题描述

如何在将数据从一个测量值复制到另一个测量值时插入当前时间。它正确复制所有数据以及从中复制的测量的时间戳。

SELECT MIN(column) 作为值 INTO db2.retention_policy2.measurement2 FROM db1.retention_policy1.measurement1 GROUP BY column1, column2

我希望新测量(measurement2)中的时间列具有当前时间,而不是 db1.retention_policy1.measurement1 中的时间。那可能吗?谢谢你。

将查询转换为列表的一种可能方法:

list_current_data = list(current_data.get_points())

然后以这种方式更新时间:

for item in list_current_data:
    item['time'] = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f")[:-4]+"Z"

最后将更新列表中的数据插入到测量中。任何人都知道如何将数据从列表插入到测量中?

标签: pythoninfluxdbinfluxdb-python

解决方案


可以通过以下方式将数据从列表写入测量:

current_data = client.query("SELECT statement")
list_current_data = list(current_data.get_points())

for data_point in current_data.get_points():
    data_to_write = [{'measurement': 'measurement_name',
                    'fields': {'value1': data_point['value1'],
                               'value2': data_point['value2']}
                    }]
    client.write_points(data_to_write)

每次执行脚本时,这都会将新数据附加到测量中。


推荐阅读