"""Lambda for saving DynamoDB items to SnowFlake.""" from __future__ import print_function from models import snowflake as snowflake_model from connectors import snowflakedb import util snowflake_context = snowflakedb.get_snowflake_context() def lambda_handler(event, context): """Consumer Lambda function handler. Args: event (dict): Lambda event information context (dict): Lambda event context Returns: str: result message """ records = { 'INSERT': [], 'MODIFY': [], 'REMOVE': [] } for record in event['Records']: active_record = record['dynamodb']['NewImage'] event_name = record['eventName'] json_data = util.dynamo_acive_record_to_json(active_record) records[event_name].append(json_data) for event_name, items in records.items(): snowflake_model.update_snowflake(items, event_name, snowflake_context) return 'Successfully processed {} records.'.format(len(event['Records']))