"""Config file for awal-ingestion-flow-control script.""" import os import uuid from logging import INFO from lambdacommon import util from owslogger import logger from secrets_manager.lambda_ext import LambdaSecretsManager from sentry_sdk.integrations.logging import LoggingIntegration DEV_ENVIRONMENT = 'dev' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) # Application Metadata SERVICE_NAME = 'ddex-ingester' LAMBDA_NAME = f'{SERVICE_NAME}-awal-ingestion-flow-control' AWAL_DDEX_PROVIDER = 'AWAL' # Logger DSN ---------------------------------------------------------------- LOGGER_LEVEL = os.environ.get('LOGGER_LEVEL', INFO) or None sentry_logging = LoggingIntegration(level=INFO, event_level=None) util.init_sentry_for_lambda(sentry_logging) # Global logger app_logger = util.setup_ows_logger( environment=ENVIRONMENT, logger_name=LAMBDA_NAME, logger_level=LOGGER_LEVEL, service_name=LAMBDA_NAME, service_version='1.0.0' ) secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=SERVICE_NAME) RDS_RW_USER = os.environ.get('RDS_RW_USER', 'ddex-ingester-RW') RDS_HOST = os.environ.get('RDS_HOST') RDS_DB_NAME = os.environ.get('RDS_DB_NAME') # The input table for delivery sources. AWAL_INGESTION_SFN_ARN = os.environ.get('AWAL_INGESTION_SFN_ARN') def get_current_logger(correlation_id=None): """Get logger with a correlation_id attached. Args: correlation_id: correlation_id that will be sent along with log record Returns: logger.OwsLoggingAdapter: instance of OwsLoggingAdapter with correlation_id attached. """ return logger.OwsLoggingAdapter( app_logger, {'correlation_id': correlation_id or str(uuid.uuid4())})