"""JV iTunes ETL.""" from snowflake_connector.etl_connector import SnowflakeSQLExecutor from snowflake_connector.etl_connector import SQLLoader def etl_sme_jv_itunes_sales(config): """Copy data from s3 to snowflake.""" with SnowflakeSQLExecutor(config.sf_config) as sf_executor: sql_loader = SQLLoader(__file__) sf_executor.execute_query(sql_loader, 'load_jv_itunes_from_s3', { 'db': config.sf_config['db'], 'schema': config.sf_config['schema'], 'aws_key_id': config.aws['access_key'], 'aws_secret_key': config.aws['access_secret'], 's3_path': get_s3_path(config.jv_s3)}) def get_s3_path(config): """Format s3 path from config.""" s3_subfolder = config['path'].strip('/') s3_bucket = config['bucket'].strip('/') if s3_bucket[:5] == 's3://': s3_bucket = s3_bucket[5:] return f's3://{s3_bucket}/{s3_subfolder}'