2016-12-16 7 views
0

何とかInfluxDBの値としてリストを挿入できますか?これはJSONです:Influxdbでリストを値として挿入

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("Queying data: " + query) 

result = client.query(query) 

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

は書き込みを達成するために他のいくつかの方法がありますリストの直接?

ありがとうございます!

答えて

0

フィールドをInfluxDBにフィールドとして保存する方法はありません。一般的な回避策は、ベクトル成分を個々のフィールドに分割することです。

0

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

したがって、上記のようにフィールドに分割することは、おそらく、あなたがinfluxdbを使いたい場合には最適なオプションです。

関連する問題