"""Snowflake utils module.""" import config from .utils import get_sf_private_key from snowflake.connector import connect as snowflake_connect def execute_snowflake_query(query: str, params: dict) -> list[tuple]: """Extract data from Snowflake. Args: query (str): SQL statement for extracting data from Snowflake. params (dict): For formatting the query. Returns: List: List of tuples or empty list. """ config.app_logger.info('Get snowflake connection') # format database and schema query = query.format( db=config.snowflake_db_config['db'], schema=config.snowflake_db_config['schema'] ) with snowflake_connect( **config.snowflake_db_config, private_key=get_sf_private_key(config.SECRETS_PATH), ) as connection: with connection.cursor() as cursor: return cursor.execute(query, params).fetchmany()