写入 influx db returns 没有错误,但没有存储数据

Writing to influx db returns no error, but no data is stored

我正在尝试将一些传感器数据写入 InfluxDB。客户端 returns 没有错误,但没有数据正在访问数据库。你能帮我一下吗?我试过标签、不同的时间格式等等,但都无济于事。我读了我能找到的东西,但不知何故我迷路了。 我正在使用 InfluxDB 1.8.3,

def create_dictionary_for_value(temperature,humidity):
    return [{
            "measurement": "kojiboxclimate",
            "tags": {
                "host": "server01",
                "region": "us-west"
            },
            "time": datetime.datetime.utcnow().isoformat(),
            "fields": {
                "temperature": temperature,
                "humidity": humidity
            }
    }]

def main():
    client = InfluxDBClient(HOST, PORT, USER, PASSWORD, DBNAME)
    retention_policy = 'my_policy'
    client.create_retention_policy(retention_policy, '3d', 3, default=True)

    while True:
        temperature, humidity = sensor.read()
        payload = create_dictionary_for_value(temperature, humidity)
        print("{}\n".format(payload))
        client.write_points(payload, retention_policy=retention_policy, protocol='json')
        result = client.query('select value from kojiboxclimate;')
        print("Result: {0}".format(result))
        time.sleep(60)

有效载荷的输出产生了我所期望的结果:

[{'fields': {'temperature': 20.164034485389493, 'humidity': 38.62821393148699}, 'tags': {'host': 'server01', 'region': 'us-west'}, 'time': '2020-11-26T19:00:15.042571', 'measurement': 'kojiboxclimate'}]

结果集为空,数据库也为空。

当我尝试你的代码时,它似乎对我有用,除了搜索查询。

您尝试使用这行代码查询您的数据:

result = client.query('select value from kojiboxclimate;')

通过这个,您尝试获取数据的一个字段 value,但该字段不存在。

如果你想获取所有数据你可以这样做:

result = client.query('select * from kojiboxclimate;')

如果你想获得例如您可以使用以下代码片段的温度:

result = client.query('select temperature from kojiboxclimate;')