lambda_2.py 924 B

1234567891011121314151617181920212223242526272829303132
  1. import json
  2. import boto3
  3. import os
  4. import urllib
  5. import requests
  6. BUCKET_NAME = os.environ['BUCKET_NAME']
  7. s3 = boto3.resource('s3')
  8. transcribe = boto3.client('transcribe')
  9. def lambda_handler(event, context):
  10. job_name = event['detail']['TranscriptionJobName']
  11. job = transcribe.get_transcription_job(TranscriptionJobName=job_name)
  12. uri = job['TranscriptionJob']['Transcript']['TranscriptFileUri']
  13. print(uri)
  14. job_name = job_name.split('input-')[1]
  15. content = urllib.request.urlopen(uri).read().decode('utf-8')
  16. #write content to cloudwatch logs
  17. print(json.dumps(content))
  18. data = json.loads(content)
  19. transcribed_text = data['results']['transcripts'][0]['transcript']
  20. print(job_name)
  21. file_name = "output/" + job_name.replace('-', '/', 1).rsplit('.wav',1)[0] + ".txt"
  22. object = s3.Object(BUCKET_NAME, file_name)
  23. object.put(Body=transcribed_text)