def handle()

in app/lambda/get_transcription_translation/lambda_function.py [0:0]


    def handle(self, event, context):
        try:
            targetLanguageCode = event['queryStringParameters'][TRANSLATION_TARGET_LANGUAGE_CODE].strip() if TRANSLATION_TARGET_LANGUAGE_CODE in event['queryStringParameters'] else ''
            translationSourceText = event['queryStringParameters'][TRANSLATION_SOURCE_TEXT].strip() if TRANSLATION_SOURCE_TEXT in event['queryStringParameters'] else ''
            if  len(targetLanguageCode)==0 or len(translationSourceText)==0:
                return sendResponse(400, {'message':  TRANSLATION_SOURCE_TEXT +","+ TRANSLATION_TARGET_LANGUAGE_CODE + " parameters cannot be empty"})
            if len(translationSourceText.encode('utf-8')) > TRANSLATION_TEXT_MAX_UTF8_BYTES_SIZE:
                return sendResponse(400, {'message':  "Translation is supported for translationSourceText <"+ TRANSLATION_MAX_UTF8_BYTES_SIZE + "bytes. Please split the payload or try in smaller chunks." }) 
            client = boto3.client('translate', region_name=os.environ['AWS_REGION'])
            translate_result = client.translate_text(Text=translationSourceText, SourceLanguageCode='en',TargetLanguageCode=targetLanguageCode)
            result = {'translate': translate_result}
            return sendResponse(200, result)
        except Exception as e:
            print(str(e))
            if e.response['Error']['Code'] == 'UnsupportedLanguagePairException':
                return sendResponse(400, {'message':  "Unsupported Language Pair Translation. Please try with one of supported target language."}) 
            if e.response['Error']['Code'] == 'InvalidRequestException':
                return sendResponse(400, {'message':  "Invalid request provided. Please ensure try with English input text and supported target language."})               
            return sendResponse(500, {'message':  "An unknown error has occurred. Please try again."})