"""Lambda amazon_datapulse_trigger function module.""" import json from datadog_lambda.metric import lambda_metric from src import logic from config import logger def handler(event, context): """Lambda entry point.""" logger.info(f'Processing event with {len(event["Records"])} records') for record in event['Records']: message_id = record['messageId'] try: body = json.loads(record['body']) logic.process_message( body=body, message_id=message_id, ) lambda_metric('amazon_datapulse_trigger.success', 1) logger.info(f'Successfully processed message {message_id}') except Exception as e: lambda_metric('amazon_datapulse_trigger.error', 1) logger.exception(f'Failed to process message {message_id}: {e}') raise