Untitled
unknown
plain_text
8 months ago
1.6 kB
5
Indexable
import os
import logging
import awswrangler as wr
from src.source_rules import apply_src_rules
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def lambda_handler(event: dict, _context: dict) -> dict:
try:
logger.info(event)
reservoir_bucket = os.environ["reservoir_bucket"]
citi_db_name = os.environ["citi_db_name"]
table_name = "hk_fa_citi_trxn"
logger.info(
"Processing date: %s", f"{event['yyyy']}-{event['mm']}-{event['dd']}"
)
src_df = wr.athena.read_sql_query(
sql=f"""
select fund_code, accounting_transaction_id, transaction_type, security_internal_code, entry_date, trade_date, settlement_date, local_currency, units__nominal_value, book_cost_local_ccy, market_price_local_ccy, gross_cost_local_ccy, broker_commission_local_ccy, tax_amount_local_ccy, total_fee_local_ccy, transaction_accrued_interest_local_ccy, transaction_accrued_interest_fund_ccy, net_transaction_amt_local_ccy, net_transaction_amt_fund_ccy, realized_total_gl_local_ccy, realized_total_gl_fund_ccy, realized_market_gl_fund_ccy, trade_status
from {table_name} as inv_trxn
""",
database=citi_db_name,
ctas_approach=False,
s3_output=f"s3://{reservoir_bucket}/athena_results/",
)
response = apply_src_rules(src_df, event)
logger.info("apply_src_rules response %s", response)
except Exception as err:
logger.exception(err)
raise err
return {"status": 200}
Editor is loading...
Leave a Comment