0

リストをInfluxDBの値として挿入することは可能ですか? これはjsonです:

json_body = [
    {
        "measurement":"devices",
        "tags":{
            "host":"server01",
            "region":"us-west"

            },
        "fields": {


            "device":1234,
            "coord":[60.177751,24.913778],
            "local":[[244,5,'232E','F27B',23],[244,5,'232F','76FE',9]]


            }

        }
    ]

代わりに、リストの文字列表現を使用することもできますが、それを以下のようにリストに変換する必要があります。これは正常に機能します。

ast.literal_eval(device_points[0]['ローカル'])

以下は、文字列表現を持つ json オブジェクトです。

json_body = [
    {
        "measurement":"devices",
        "tags":{
            "host":"server01",
            "region":"us-west"

            },
        "fields": {


            "device":1234,
            "coord":"[60.177751,24.913778]",
            "local":"[[244,5,'232E','F27B',23],[244,5,'232F','76FE',9]]"


            }

        }
    ]

client.write_points(json_body)

query = 'select local from devices;'

print("Querying data: " + query)

result = client.query(query)

device_points = list(result.get_points(measurement='devices'))

リストの書き込みを直接達成する他の方法はありますか?

ありがとう!

4

3 に答える 3

0

おそらくリストを文字列として保存できますが、influxdbは文字列操作がかなり苦手で、文字列から情報を抽出してフィールドに変換する方法がないため、後で操作する方法がありません.

そうです、influxdbを使い続けたい場合は、フィールドに分割するという上記の提案がおそらく最良のオプションです。

于 2016-12-18T11:49:05.697 に答える