From 8119f908ba1fb41d6541c4777b1023717ef58936 Mon Sep 17 00:00:00 2001 From: Gabe Revells Date: Sat, 13 Feb 2021 16:03:06 -0500 Subject: [PATCH] Create influx bucket if it doesn't exist --- varken/influxdb2manager.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/varken/influxdb2manager.py b/varken/influxdb2manager.py index d6e3452..0cb9df9 100644 --- a/varken/influxdb2manager.py +++ b/varken/influxdb2manager.py @@ -1,6 +1,7 @@ from sys import exit from logging import getLogger from requests.exceptions import ConnectionError +import influxdb_client from influxdb_client import InfluxDBClient, Point from influxdb_client.client.write_api import SYNCHRONOUS @@ -17,6 +18,23 @@ class InfluxDB2Manager(object): timeout=self.server.timeout, verify_ssl=self.server.verify_ssl, ssl_ca_cert=self.server.ssl) self.influx_write_api = self.influx.write_api(write_options=SYNCHRONOUS) + # Create the bucket if needed + + bucket_api = self.influx.buckets_api() + + bucket = bucket_api.find_bucket_by_name(self.server.bucket) + + if bucket is None: + self.logger.info('Creating bucket %s', self.server.bucket) + + org_api = influxdb_client.service.organizations_service.OrganizationsService(self.influx.api_client) + orgs = org_api.get_orgs() + for org in orgs.orgs: + if org.name == self.server.org: + my_org = org + + self.influx.buckets_api().create_bucket(bucket_name=self.server.bucket, org_id=my_org.id) + def write_points(self, data): d = data self.logger.info('Writing Data to InfluxDBv2 %s', d)