in sam-app/lambda_functions/sfGetTranscribeJobStatus.py [0:0]
def lambda_handler(event, context):
try:
response = client.get_transcription_job(
TranscriptionJobName=event["TranscriptionJobName"]
)
# BELOW IS THE CODE TO FIX SERIALIZATION ON DATETIME OBJECTS
if "CreationTime" in response["TranscriptionJob"]:
val = response["TranscriptionJob"]["CreationTime"]
response["TranscriptionJob"]["CreationTime"] = val.strftime("%Y-%m-%dT%H:%M:%S.%f%z") if isinstance(val, datetime.datetime) else str(val)
if "StartTime" in response["TranscriptionJob"]:
val = response["TranscriptionJob"]["StartTime"]
response["TranscriptionJob"]["StartTime"] = val.strftime("%Y-%m-%dT%H:%M:%S.%f%z") if isinstance(val, datetime.datetime) else str(val)
if "CompletionTime" in response["TranscriptionJob"]:
val = response["TranscriptionJob"]["CompletionTime"]
response["TranscriptionJob"]["CompletionTime"] = val.strftime("%Y-%m-%dT%H:%M:%S.%f%z") if isinstance(val, datetime.datetime) else str(val)
logger.info(response)
return response["TranscriptionJob"]
except Exception as e:
raise e