import json
import awswrangler as wr
import logging
import sys
import os
# Set up logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
def lambda_handler(event, context):
"""
Lambda_handler is called when the AWS Lambda
is triggered.
"""
logger.info("******************Start AWS Lambda Handler************")
logger.info("## ENVIRONMENT VARIABLES")
logger.info(os.environ)
logger.info("## EVENT")
logger.info(event)
input_path = event['input_path']
output_path = event['output_path']
logger.info(f"Reading in {input_path}")
df = wr.s3.read_csv(input_path)
wr.s3.to_parquet(
df=df,
path=output_path,
dataset=True,
partition_cols=['ELEMENT']
)
logger.info(f"Wrote {output_path}")
# TODO implement
return {
'statusCode': 200,
'body': json.dumps(f'Wrote {output_path}')
}