Format: application/x-python-code
1 o
2
3 ��hE � @ sN d dl Z d dlZd dlZd dlZd dlZd dlmZ ed�ZG dd� d�Z dS )� N)�setup_loggerzrecall_sampler/data_loaderc @ s~ e Zd Zddd�Zdd� Zdd� Zded efd
4 d�Zd ej fdd
5 �Z
6 d ej fdd�Zdej dedefdd�Z
7 d efdd�ZdS )�
8 DataLoader� us-east-1c C s || _ || _|| _|| _d S �N)�matches_config�catalog_config�
9 customer_name�region_name)�selfr r r r � r �@C:\Users\shubh\Videos\recall\recall_audit_sampler\data_loader.py�__init__ s
10 zDataLoader.__init__c C s8 t j�� }|jd| jd�}|j|d�}t�|d �}|S )N�secretsmanager)�service_namer )�SecretId�SecretString)�boto3�session�Session�clientr �get_secret_value�json�loads)r
11 �secret_namer r �response�secretr r r �
12 get_secret s
13
14 zDataLoader.get_secretc C sF | � |�}t�d|� �� tjd|d |d |d |�dd�d�}|S ) Nz!Connecting to Postgres database: Zmatchlibrary�username�password�host�porti8 )Zdbname�userr r r )r �logger�info�psycopg2�connect�get)r
15 r r �connr r r �connect_postgres s
16
17 �zDataLoader.connect_postgres�
18 sql_file_path�returnc K sp t j�|�s
19 td|� ���t|d��}|�� }W d � n1 s!w Y tdd| ji|��}|jdi |��S )NzSQL file not found: �rr r ) �os�path�isfile�FileNotFoundError�open�read�dictr �format)r
20 r) �kwargs�fZsql_template�paramsr r r �render_sql_from_file&