我似乎无法使用 influxdb-client Python 向 InfluxDB2 发送时间戳。
我的代码:
(local_time_to_unix是一个自己定义的函数来转换为Epoch,这个函数是正确的,我也测试了其他Epoch值)
time = local_time_to_unix(2024,5,2,4,1,1)
current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
print(time)
p = Point("Solar_data").tag("Project", "777").tag("Installation", 1223).field("total_consumption", 0.5 ).time('1996-02-25T21:20:00.001001231Z')
每当我尝试使用
.time()
函数发送数据点时,要么什么也没有发生(InfluxDB 中没有添加记录),要么时间戳不正确:
influxdb中的时间戳(_start,_stop,_time)是查询数据的主机时间。所以它不断地改变为主机的当前时间。不是通过 Python 将数据点添加到数据库的时间...
Python 代码成功执行,没有任何错误。
我尝试了所有可能的时间格式,我浏览了 InfluxDB 和 influxdb-client 的文档,但没有任何效果。
.time('1996-02-25T21:20:00.001001231Z')
摘自官方文档的“示例”部分。为什么它对我不起作用?
为什么 .time() 函数在 Point 上对我不起作用?
提前致谢!
更新
我尝试在 Linux 主机上运行完全相同的代码,并在同一台 Linux 主机上运行 InfluxDBv2 数据库,并且运行良好。 所以我认为这是专门针对 Windows (11) 主机的问题? 我有办法修复它吗?我也需要它在 Windows 11 主机上工作...
我用的是window10电脑,Python版本3.10,然后写了influxdb2(linux系统),可用