def put_record_in_firehose()

in functions/DynamoDbToFirehose/lambda_function.py [0:0]


def put_record_in_firehose(stream_record):
    new_image_item = stream_record['NewImage']
    transformed_item = {}
    # Transform the record a bit
    try:
        date_time_str = new_image_item['DateTime']['S']
        print(date_time_str)
        date_time_obj = datetime.datetime.strptime(date_time_str, '%Y-%m-%dT%H:%M:%S.%f')

        transformed_item['AssemblyLineId'] = new_image_item['AssemblyLineId']['S']
        transformed_item['CameraId'] = new_image_item['CameraId']['S']
        transformed_item['ImageId'] = new_image_item['ImageId']['S']
        transformed_item['ImageUrl'] = new_image_item['ImageUrl']['S']
        transformed_item['DateTime'] = new_image_item['DateTime']['S']
        transformed_item['IsAnomalous'] = new_image_item['IsAnomalous']['BOOL']
        transformed_item['Confidence'] = new_image_item['Confidence']['N']
        transformed_item['Year'] = date_time_obj.year
        transformed_item['Month'] = date_time_obj.month
        transformed_item['Day'] = date_time_obj.day
        transformed_item['Hour'] = date_time_obj.hour
        transformed_item['Minute'] = date_time_obj.minute
        transformed_item['Region'] = stream_record['awsRegion']
    except Exception as e:
        print(e)
    
    j_to_firehose = json.dumps(transformed_item)
    response = firehose.put_record(
    DeliveryStreamName=os.environ['DeliveryStreamName'],
    Record= {
                'Data': j_to_firehose + '\n'
            }
        )
    print(response)