#!/usr/bin/env python """validate.""" import os from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization import snowflake.connector # add your private key path from snowflake.connector import SnowflakeConnection import config path = os.environ['HOME'] + '/.ssh/snowflake/rsa_key.p8' # add your passphrase for private key path passphrase = config.SNOWFLAKE_PASSPHRASE warehouse = 'DEV_PERFORMANCE_WAREHOUSE' database = 'chartmetric' schema = 'raw_data' def snowflake_client() -> SnowflakeConnection: with open(path, 'rb') as key: p_key = serialization.load_pem_private_key( key.read(), password=passphrase.encode(), backend=default_backend() ) pkb = p_key.private_bytes( encoding=serialization.Encoding.DER, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption()) con = snowflake.connector.connect( user=config.SNOWFLAKE_USERNAME, account='orchard', private_key=pkb, warehouse=warehouse, database=database, schema=schema ) con.cursor().execute("ALTER SESSION SET USE_CACHED_RESULT = FALSE") return con