From 2c817e6f82091953ceb134610caa0c28a2a3e858 Mon Sep 17 00:00:00 2001 From: Bert Palm <bert.palm@ufz.de> Date: Wed, 26 Feb 2025 13:28:54 +0100 Subject: [PATCH] fix getting parser in mqtt ingest and adding missing api types --- .../V2_12__configdb_new_apitypes_and_devicetypes.sql | 3 +++ src/run_mqtt_ingest.py | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 flyway/migrations/V2_12__configdb_new_apitypes_and_devicetypes.sql diff --git a/flyway/migrations/V2_12__configdb_new_apitypes_and_devicetypes.sql b/flyway/migrations/V2_12__configdb_new_apitypes_and_devicetypes.sql new file mode 100644 index 00000000..d7c06429 --- /dev/null +++ b/flyway/migrations/V2_12__configdb_new_apitypes_and_devicetypes.sql @@ -0,0 +1,3 @@ +insert into config_db.ext_api_type (name) +values ('tsystems'::varchar(200)), + ('uba'::varchar(200)); diff --git a/src/run_mqtt_ingest.py b/src/run_mqtt_ingest.py index 02829216..50dde1b1 100755 --- a/src/run_mqtt_ingest.py +++ b/src/run_mqtt_ingest.py @@ -14,7 +14,7 @@ from timeio.errors import UserInputError from timeio.journaling import Journal from timeio.databases import DBapi from timeio.feta import Thing -from timeio.parser import get_parser +from timeio.parser import get_parser, MqttDataParser logger = logging.getLogger("mqtt-ingest") journal = Journal("Parser") @@ -41,12 +41,11 @@ class ParseMqttDataHandler(AbstractHandler): logger.info(f"get thing") mqtt_user = message.topic.split("/")[1] - thing = Thing.from_mqtt_user_name(mqtt_user) + thing = Thing.from_mqtt_user_name(mqtt_user, dsn=self.configdb_dsn) thing_uuid = thing.uuid logger.info(f"get parser") - p = thing.s3_store.file_parser - parser = get_parser(p.file_parser_type, p.params) + parser: MqttDataParser = get_parser(thing.mqtt.mqtt_device_type.name, None) logger.info(f"parsing rawdata") try: -- GitLab