Python Variablen in InfluxDB2 schreiben

Revolution

Commodore
Registriert
März 2008
Beiträge
4.964
Hallo zusammen

Ich beiße mir seit ein paar stunden schon die Zähne dran aus wie bekomme ich die Variable prozent in die Influxdb write hinein ist mit sicherheit einfach aber ich finde nichts dazu...


Python:
from datetime import datetime

from influxdb_client import InfluxDBClient, Point, WritePrecision
from influxdb_client.client.write_api import SYNCHRONOUS

prozent = 88
print(prozent)

# You can generate an API token from the "API Tokens Tab" in the UI
token = ""
org = ""
bucket = ""

with InfluxDBClient(url="", token=token, org=org) as client:


     write_api = client.write_api(write_options=SYNCHRONOUS)

     data = "test,host=host1 used_percent="(prozent)""
     write_api.write(bucket, org, data)
 
ich verstehe nicht was du meinst, meinst du Python String Interpolation? Hast du mal da nachgesehen?
Falls ja, woran scheitert es? Gibt doch viele Moeglichkeiten seit Python 3, z.B. hier mal paar als Beispiel: https://www.programiz.com/python-programming/string-interpolation

Oder hast du ein InfluxDB spezifisches Problem?
Warum nimmst du eigentlich dann nicht die Type Safe API fuer den Python client?
https://docs.influxdata.com/influxdb/cloud/api-guide/client-libraries/python/
In der Doku ist doch selbst im Quickstart ein Beispiel:

Python:
p = influxdb_client.Point("my_measurement").tag("location", "Prague").field("temperature", 25.3)
write_api.write(bucket=bucket, org=org, record=p)
 
Zuletzt bearbeitet:
Ich bin weder mit Python noch dieser Library wirklich vertraut, aber wenn ich mir die Beispiele in der Doku dazu anschaue, dann musst du erst einen Point (Single Data Record) erstellen und diesen dann in dein Bucket schreiben.
Python:
[...] # GitHub Beispiel (https://github.com/influxdata/influxdb-client-python#getting-started)
write_api = client.write_api(write_options=SYNCHRONOUS)

p = Point("my_measurement").tag("location", "Prague").field("temperature", 25.3)

write_api.write(bucket=bucket, record=p)

Bei dir könnte das dann vermutlich folgendermaßen aussehen:
Python:
[...]
write_api = client.write_api(write_options=SYNCHRONOUS)


p = Point("test").tag("testTagKey","testTagValue").field("used_percent", prozent)


write_api.write(bucket=bucket, org=org, record=p)
# keine Garantie, dass dieser Code wirklich funktioniert
 
Zurück
Oben