From 294b427a95f35a17bd2b703a13dbd48dc0f1976f Mon Sep 17 00:00:00 2001 From: Christian Boettcher <c.boettcher@fz-juelich.de> Date: Mon, 13 Dec 2021 07:14:22 +0100 Subject: [PATCH] get datacat connection data from airflow config --- src/datacat_integration/secrets.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/datacat_integration/secrets.py b/src/datacat_integration/secrets.py index 7f389d0..7a590cc 100644 --- a/src/datacat_integration/secrets.py +++ b/src/datacat_integration/secrets.py @@ -74,15 +74,19 @@ class DatacatSecretsBackend(BaseSecretsBackend): # TODO init with datacat elevated login to prevent secrets acces from jobs + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.url = kwargs["url"] + self.user = kwargs["user"] + self.password = kwargs["password"] + def get_connection(self, conn_id: str): """returns a Connection object created from the <conenction_type>/<conn_id> object in the datacatalog""" # only for testing: check that a specific oid has been requested if conn_id != "860355e9-975f-4253-9421-1815e20c879b": return None - - hook = DataCatalogHook("datacatalog") - secrets_conn = DataCatConnectionWithSecrets(hook.connection.url, hook.connection.user, hook.connection._password) + secrets_conn = DataCatConnectionWithSecrets(self.url, self.user, self.password) data = secrets_conn.get_object(connection_backend_type, conn_id) secrets = secrets_conn.get_all_secret_key_value(connection_backend_type, conn_id) conn = get_connection_from_entry(data, secrets, connection_backend_type, conn_id) -- GitLab