"""Config for Amazon Prime Marketshare Workflow.""" import os feed_name = 'amazon_prime_marketshare' secrets_path = 'amazon_prime_marketshare' feed_version = '2.0' s3_feed_name = 'AmazonPrimeMarketShare' expected_bucket_owner = os.environ.get('EXPECTED_BUCKET_OWNER', '437795906767') # environment to run in environment = os.environ.get('ENVIRONMENT', 'dev') # bucket for archived data data_bucket = os.environ.get('FEED_INGESTION_DATA_BUCKET', 'dev-cucumbers') # S3 locations for dropped and archived files s3 = { 'archive': ( 's3://{data_bucket}/{feed_name}/archives/{{date:%Y-%m}}/'.format( data_bucket=data_bucket, feed_name=s3_feed_name)), 'preprocessed': ( 's3://{data_bucket}/{feed_name}/preprocessed/'.format( data_bucket=data_bucket, feed_name=s3_feed_name)), 'preprocessed_filename': 'amazon_prime_mkt_share_{date:%Y-%m-%d}.tsv.gz' } snowflake_table_names = { 'staging_raw': 'staging_raw_amazon_market_share_v2', 'temp_staging_raw': 'temp_staging_raw_amazon_market_share_v2_{date:%Y%m%d}', 'currency_db': 'orchard_app_reporting_v2', 'currency_schema': 'art_relations_prod_art_relations' } file_pattern = 'Monthly_Prime_Summary_{date:%Y%m}' # match supplier from filename with full supplier name map_suppliers = {'ZQOR': 'Orchard', 'ZQFT': 'Finetunes', 'ZQRED': 'Red'} file_changed_date = '2024-07-01' # field names for processed file fieldnames = [ 'dataset_date', 'subscription_plan', 'territory_code', 'subscription_count', 'psm_rate', 'gross_revenue', 'revenue_share_percentage', 'customer_payment_currency', 'vendor_streams', 'vendor_offline_plays', 'vendor_total_plays', 'total_plays_for_all_vendors', 'prorated_share_of_licensed_plays_for_partner', 'royalty_amount_based_on_psm', 'royalty_amount_based_on_revenue', 'actual_royalty_amount_due', 'ratecard_currency', 'settlement_amount', 'settlement_currency', 'conversion_rate', 'mkt_share', 'filename', 'supplier', 'territory' ] # field names for processed file fieldnames_since_2024_07_01 = [ 'dataset_date', 'subscription_plan', 'territory_code', 'subscription_count', 'psm_rate', 'gross_revenue', 'revenue_share_percentage', 'customer_payment_currency', 'vendor_streams', 'vendor_offline_plays', 'vendor_total_plays', 'total_plays_for_all_vendors', 'prorated_share_of_licensed_plays_for_partner', 'royalty_amount_based_on_psm', 'royalty_amount_based_on_revenue', 'actual_royalty_amount_due', 'ratecard_currency', 'settlement_amount', 'deduction_amount_in_settlement_currency', 'settlement_currency', 'conversion_rate', 'discount_threshold', 'global_subscribers', 'discount_percent', 'discount_amount_in_rate_card_currency', 'discount_amount_in_settlement_currency', 'mkt_share', 'filename', 'supplier', 'territory' ] sftp = { 'orchard': { 'host': os.environ.get( 'AMAZON_SFTP_HOST', 'prod.reporting.amazonmusiccatalog.com'), 'username': os.environ.get('AMAZON_ORCHARD_SFTP_USERNAME'), 'password': os.environ.get('AMAZON_ORCHARD_SFTP_PASSWORD'), 'port': int(os.environ.get('AMAZON_SFTP_PORT', 22)) } } sftp_path_template = 'sales/{country_code}/Monthly/Prime'