ubuntuusers.de

Python Daten in InfluxDB schreiben

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

tassilomoedl

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

Hallo Leute, weiss hier irgendjemand, wie man in Python Daten(z.B. aus einer Variable) in eine InfluxDB schreiben kann?

Gruss, tassilomoedl

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

Hallo,

für InfluxDB gibt es eine Python-Bibliothek. Siehe die Einführung.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

Aber wenn ich deren Anleitung befolge, bekomme ich immer nur folgende Fehlermeldung: Unbenannt

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

tassilomoedl schrieb:

Aber wenn ich deren Anleitung befolge, bekomme ich immer nur folgende Fehlermeldung: Unbenannt

Wie sieht dein Code denn aus?

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

from influxdb import InfluxDBClient
irgendwas = 123456
client = InfluxDBClient(host='localhost', port=8086)
client.create_database('test')
client.write_points(irgendwas)

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

Ich schätze, du kannst keine einfache Zahlvariable in die DB schreiben (Siehe TypeError).

Siehe Dokumentation:

The write_points() method has an argument called points, which is a list of dictionaries, and contains the points to be written to the database. Let’s create some sample data now and insert it.

So müsste es gehen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from influxdb import InfluxDBClient

json_body = [
    {
        "irgendwas": 123456
     }
]

client = InfluxDBClient(host='localhost', port=8086)
client.create_database('test')
client.write_points(json_body)

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

Damit bekomme ich folgende Fehlermeldung: Unbenannt

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

Bitte immer Code angeben, damit man das besser nachvollziehen kann. Es sei denn, du hast ihn nicht verändert.

Bitte das hier nach client.create_database() hinzufügen:

1
client.switch_database('test')

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

karzer schrieb:

Bitte immer Code angeben, damit man das besser nachvollziehen kann.

Was meinst du?

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

karzer schrieb:

Bitte immer Code angeben, damit man das besser nachvollziehen kann.

Ich habe die Fehlermeldung doch verlinkt!

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

Tut mir Leid. Siehe bitte meine Bearbeitete vorherige Antwort, du hast die Database nicht ausgewählt.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

Es geht, aber in der Datenbank wird nichts gespeichert!

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1560

Wohnort: Bad Oeynhausen

tassilomoedl schrieb:

Es geht, aber in der Datenbank wird nichts gespeichert!

Wie hast du das herausgefunden? Gibt das Programm True aus?

Zum Test einfach mal am Ende des Programms das einfügen:

client.get_list_database()

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Aber wenn ich deren Anleitung befolge, bekomme ich immer nur folgende Fehlermeldung: Unbenannt

Welche Anleitung genau? Die Fehlermeldung ist doch klar - du versuchst, über einen Integer-Wert zu iterieren, was nicht geht. D.h. bei dir ist data['points'] ein Integerwert. Ergo liegt der Fehler in deinem Code bzw. was du dem Dict data hinzufügst und nicht bei der DB - soweit kommst du gar nicht.

Zeig' mal einem Code. Und Fehlermeldungen kannst du hier in einem Codeblock posten statt im Paste-Service. Ist einfacher.

Gruß, noisefloor

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb:

Und Fehlermeldungen kannst du hier in einem Codeblock posten statt im Paste-Service. Ist einfacher.

Aber die Fehlermeldung ist so lang und würde den Thread unnötig aufblähen!

Antworten |