import boto3, json, urllib.request def translate_text(text, source_language_code = "ru", target_language_code = "en"): translate = boto3.client('translate') result = translate.translate_text( Text=text, SourceLanguageCode=source_language_code, TargetLanguageCode=target_language_code ) return result['TranslatedText'] if __name__ == "__main__": try: import sys if len(sys.argv) < 2: raise RuntimeError("please enter Russian text") src = sys.argv[1] tgt = translate_text(src) request_body = json.dumps({ "src": src, "tgt": tgt, }) req = urllib.request.Request("http://localhost:8080/invocations", data=request_body.encode("utf-8"), headers={"Content-Type": "application/json", "Accept": "application/json"}, method='POST') pairs = json.loads(urllib.request.urlopen(req).read()) def format_text(text, n = 48): return text[:n] if len(text) > n else text+" ".join(["" for i in range(n-len(text))]) for text, translation in pairs: print (f"{format_text(text)}\t{format_text(translation)}") except RuntimeError as error: print ("Error: %s" % str(error))