1

influxdbを使用して、influxdb v4.0.0を使用してローカルinfluxdbにいくつか書き込もうとして'measurements'います...

一部の場所では、dictを使用するか、jsonまたはラインプロトコルを使用できると言われているため、私は少し混乱しています....

ここからhttp://influxdb-python.readthedocs.io/en/latest/examples.html#tutorials-pandasおよびこことここからhttps://github.com/influxdata/influxdb-python/blob/master/influxdb/ client.py

1st -以下を使用して DB オブジェクトを作成します。

InfluxDBClient('localhost', database='DBNAME')

2 番目 -データを使用して dict を作成します。

measurement = {}
measurement['measurement'] = 'energy'
measurement['tags'] = {}
measurement['fields'] = {}
measurement['tags']['MeterID'] = str(meterId)
measurement['fields']['Energy_Wh'] = str(eFrame.getReading())

3番目 -データをBDにプッシュ:

try:
    self.db.write(measurement)
except Exception as e:
    print e

プログラムは動作しますが、DB にデータは保存されず、コンソール出力は次のようになります。

2017-01-11 12:41:09,741 - INFO - Saving Meter: MeterId = 09060178
u'points'
Meter-ID: 09060178 Energy Value (Wh): 10380300
{'fields': {'Energy_Wh': '10380300'}, 'tags': {'MeterID': '09060178'}, 'measurement': 'energy'}

1line logger file info
2line error/Exception
3line value returned by device
4line generated dict
(prints except logging are executed last)

なぜ、または何を間違って書いているのか、u'points'エラーの意味がわかりません...誰か助けてくれますか??

4

2 に答える 2

4

次の方法でそれを試みることができます (に示すように):

from influxdb import InfluxDBClient

client = InfluxDBClient(host, port, user, password, dbname)

client.create_database(dbname)

 json_body = [
        {
            "measurement": "cpu_load_short",
            "tags": {
                "host": "server01",
                "region": "us-west"
            },
            "time": "2009-11-10T23:00:00Z",
            "fields": {
                "value": 0.64
            }
        }
    ]

client.write_points(json_body)
于 2017-01-11T13:52:36.120 に答える