import argparse import json import os import uuid from dataclasses import dataclass from notification_service import lambda_handler if __name__ == '__main__': @dataclass class LambdaContext: aws_request_id: str parser = argparse.ArgumentParser() parser.add_argument('-e', '--env', required=True, type=str, help='Envoronment') parser.add_argument('-p', '--event-path', required=True, type=str, help='path to CW event file') config = parser.parse_args() with open('./zappa_settings.json', 'r', encoding='utf-8') as fin: env_config = json.load(fin) for k, v in env_config[config.env]['aws_environment_variables'].items(): os.environ[k] = v with open(config.event_path, 'r', encoding='utf-8') as fin: lambda_event = json.load(fin) ctx = LambdaContext(aws_request_id=uuid.uuid4().hex) lambda_handler(lambda_event, ctx, is_local=True)