def lambda_handler()

in 8-MediaConvertEvents/simple_event_collector.py [0:0]


def lambda_handler(event, context): 

    print(json.dumps(event))

    job = {}
    tsevent = int(datetime.datetime.strptime(event["time"], "%Y-%m-%dT%H:%M:%SZ").timestamp())
    
    try:
        # Get environment variables set on the CloudFormation stack
        EVENTTABLE = os.environ['EventTable']
        EVENTTABLETTL = os.environ['EventTableTTL']
        
        EVENT_RETENTION_PERIOD = (3600 * 24 * int(EVENTTABLETTL))

        # add expirtation timestamp for dynamo and save the event in dynamo
        event["timestamp"] = tsevent
        event["timestampTTL"] = tsevent + EVENT_RETENTION_PERIOD
        event["jobId"] = event['detail']['jobId']
        s = json.dumps(event, cls=DecimalEncoder)
        event = json.loads(s, parse_float=decimal.Decimal)
        table = DYNAMO_CLIENT.Table(EVENTTABLE)
        response = table.put_item(Item = event)
        print(json.dumps(response, cls=DecimalEncoder))
        
    except Exception as e:
        print('An error occured {}'.format(e))
        traceback.print_stack()
        raise
    else:
        return True