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)