import base64 import os from logging import INFO from owslogger import logger import boto3 # AWS settings AWS_REGION = os.environ.get('AWS_REGION', 'us-east-1') DEV_ENVIRONMENT = 'dev' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) SCRIPT_NAME = 'conflict-manager-elasticsearch-sync' secrets_manager_client = boto3.client( 'secretsmanager', region_name=AWS_REGION) private_key_string = secrets_manager_client.get_secret_value( SecretId='{}/{}/SNOWFLAKE_KEY'.format( ENVIRONMENT, SCRIPT_NAME))['SecretString'] private_key = base64.b64decode( bytes(private_key_string, encoding='utf-8')) SF_PARAMS = { 'role': os.environ.get('SNOWFLAKE_ROLE'), 'warehouse': os.environ.get('SNOWFLAKE_WAREHOUSE'), 'db': os.environ.get('SNOWFLAKE_DATABASE'), 'schema': os.environ.get('SNOWFLAKE_SCHEMA'), 'user': os.environ.get('SNOWFLAKE_USER'), 'private_key': private_key, 'account': os.environ.get('SNOWFLAKE_ACCOUNT') } APPLICATION_NAME = 'conflict-manager-elasticsearch-sync' LOGGING_LEVEL = INFO LOGGER_DSN = os.environ.get('LOGGER_DSN') app_logger = logger.setup( ENVIRONMENT, APPLICATION_NAME, LOGGING_LEVEL, SCRIPT_NAME, '1.0.0', None, True, LOGGER_DSN ) CHUNK_SIZE = int(os.environ.get('CHUNK_SIZE', 500)) MAX_CHUNK_BYTES = int(os.environ.get('MAX_CHUNK_BYTES', 5242880)) OPENSEARCH_HOST = os.environ.get('OPENSEARCH_HOST') OPENSEARCH_PORT = os.environ.get('OPENSEARCH_PORT', 443) OPENSEARCH_USE_SSL = bool( int(os.environ.get('OPENSEARCH_USE_SSL', 1))) OPENSEARCH_INDEX = os.environ.get('OPENSEARCH_INDEX', 'conflict_write') OPENSEARCH_TIMEOUT = int(os.environ.get('OPENSEARCH_TIMEOUT', 30)) OPENSEARCH_MAX_RETRIES = int(os.environ.get('OPENSEARCH_MAX_RETRIES', 5))