0

我与 InfluxDB 和 Python 交互存在以下问题。

InfluxDB 安装在 Windows 7 机器上,另外,我有 InfluxDB,它安装在 AWS ubuntu 机器的 docker 容器中。我将 InfluxDB 端口从 AWS 机器转发到我的本地 Windows 机器。

然后,使用 Python influxdb库,我尝试通过以下方式连接到两个 InfluxDB-s:

client_aws = influxdb.InfluxDBClient('localhost', 8087, '', '', 'aws_db')
client_local = influxdb.InfluxDBClient('localhost', 8086, '', '', 'local_db')

然后,我只想将数据从 AWS 机器写入本地机器:

query = 'select field_name from test_aws'
rs = client_aws.query(query, params={"epoch": "us"})
points = list(rs.get_points(measurement="test_aws"))
db_body = [ { "measurement": "test_local",
              "time": query_time,
              "fields": { field_name: points[0].get("field_name") } } ]
client_local.write_points(db_body)

之后我检查了我的本地 InfluxDB 并检测到没有测量“test_local”但执行了查询

select field_name from test_local

返回必要的数据。此外,我不能放弃测量 test_local,因为本地 InfluxDB 不存在它。

请问你能帮帮我吗?我的数据存储在哪里?怎么可能执行了查询但没有测量?

4

1 回答 1

0

可以执行查询,但不返回任何数据。

在尝试将数据插入其中之前,您需要确保目标数据库存在于 localhost 机器上。

client.create_database('local_db')在尝试将数据插入之前添加调用以db_local确保数据库存在。

于 2017-10-18T20:42:25.470 回答