Nyelvi korlátok feloldása: Az alkalmazásnaplók fordítása az Amazon Translate segítségével a zökkenőmentes támogatás érdekében | Amazon webszolgáltatások

Nyelvi korlátok feloldása: Az alkalmazásnaplók fordítása az Amazon Translate segítségével a zökkenőmentes támogatás érdekében | Amazon webszolgáltatások

Az alkalmazásnaplók olyan alapvető információk, amelyek alapvető betekintést nyújtanak az alkalmazások belső működésébe. Ez olyan értékes információkat tartalmaz, mint például az események, hibák és felhasználói interakciók, amelyek segítséget nyújtanak az alkalmazásfejlesztőknek vagy a műveleteket támogató mérnököknek a hibakereséshez és a támogatás nyújtásához. Ha azonban ezeket a naplókat az angoltól eltérő nyelven jelenítik meg, az jelentős akadályt jelent a fejlesztők számára, akik nem tudják elolvasni a tartalmat, és akadályozza a támogatási csapatot abban, hogy azonnal azonosítsa és kezelje a problémákat.

Ebben a bejegyzésben egy megoldást keresünk arra, hogyan oldhatod fel a nyelvi korlátokat a használatával Amazon Translate, egy teljesen menedzselt neurális gépi fordítási szolgáltatás szövegek angolra és angolról történő fordításához a támogatott nyelvek széles skálája. A megoldás kiegészíti a meglévő naplózási munkafolyamatokat azáltal, hogy automatikusan lefordítja az összes alkalmazás bejelentkezését amazonfelhőóra valós időben, ami enyhítheti a nem angol nyelvű alkalmazásnaplók jelentette kihívásokat.

Megoldás áttekintése

Ez a megoldás megmutatja, hogyan használhat három kulcsfontosságú szolgáltatást az alkalmazásnaplók eseményvezérelt fordításának automatizálására:

  • A CloudWatch Logs a különféle forrásokból, például AWS-szolgáltatásokból és az Ön alkalmazásaiból generált naplófájlok figyelésére, tárolására és elérésére szolgál.
  • Az Amazon Translate szövegek angolra és angolról történő fordítására szolgál
  • AWS Lambda egy számítási szolgáltatás, amely lehetővé teszi kódok futtatását az alkalmazásnaplók lekéréséhez és azok lefordításához a Amazon Translate SDK

A következő ábra a megoldás architektúráját mutatja be.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

A munkafolyamat a következő lépésekből áll:

  1. Egyéni vagy harmadik féltől származó alkalmazás egy Amazon rugalmas számítási felhő (Amazon EC2) példány és a generált alkalmazásnaplók feltöltődnek a CloudWatch Logsba a CloudWatch Logs ügynök.
  2. A CloudWatch Logsba írt minden egyes naplóbejegyzés kiváltja a CloudWatch naplócsoportra előfizetett Lambda funkciót.
  3. A függvény feldolgozza a naplóbejegyzés tartalmát, és az Amazon Translate SDK-t használja szöveg fordítása a napló tartalmának lefordításához.
  4. A lefordított naplótartalom visszakerül a függvénybe.
  5. A funkció visszaírja a lefordított naplótartalmat a CloudWatch Logsba egy másik naplócsoportba.

A teljes folyamat automatikusan, valós időben megy végbe, és a fejlesztők hozzáférhetnek a lefordított alkalmazásnaplókhoz a CloudWatch naplócsoportjaiból anélkül, hogy a meglévő alkalmazása hogyan írja be a naplókat a CloudWatchba.

Előfeltételek

A megoldás utasításainak követéséhez szüksége van egy AWS-fiók egy AWS Identity and Access Management (IAM) felhasználó, aki rendelkezik engedéllyel AWS felhőképződés, Amazon Translate, CloudWatch, Lambda és IAM.

Telepítse a megoldást

A kezdéshez indítsa el a következőt CloudFormation sablon Lambda-függvény, két CloudWatch-naplócsoport és IAM-szerep létrehozásához. Folytassa a telepítést az alapértelmezett beállításokkal. Ennek a sablonnak a kitöltése körülbelül 1 percet vesz igénybe.

A verem sikeres létrehozása után megtekintheti a Lambda funkciót úgy, hogy navigál a Lambda konzolra, és keresse meg a funkciót. translate-application-logs.

Megfigyelheti, hogy egy CloudWatch Logs trigger van hozzáadva a funkcióhoz.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Az eseményindító konfigurációjának részleteit a következőre navigálva tekintheti meg Configuration fület és válassza ki Triggerek a navigációs ablaktáblában.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Megerősítheti, hogy az eseményindítót úgy konfigurálták, hogy feliratkozzon a naplóeseményekre a naplócsoportból /applicationlogs. Ide íródnak a nem angol nyelvű alkalmazásnaplói.

Ezután válasszon Környezeti változók a navigációs ablaktáblában.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Itt két környezeti változó található:

  • forrás nyelv – Az alkalmazásnapló eredeti nyelve (pl. ja japán számára)
  • célnyelven – Az alkalmazásnapló lefordításának célnyelve (pl. en angolra)

A támogatott nyelvek listáját lásd: Támogatott nyelvek és nyelvi kódok.

Ezután menjen a Kód fület, és tekintse át a függvény logikáját:

import json, boto3, gzip, base64, os translate = boto3.client(service_name='translate', region_name=os.environ['AWS_REGION'], use_ssl=True)
logs = boto3.client('logs') def lambda_handler(event, context): # retrieve log messages encoded_zipped_data = event['awslogs']['data'] zipped_data = base64.b64decode(encoded_zipped_data) data = gzip.decompress(zipped_data) json_log = json.loads(data) logGroup = json_log['logGroup']+'-'+os.environ['target_language'] logStream = json_log['logStream'] # check if log group exists, create if not dlg = logs.describe_log_groups(logGroupNamePrefix=logGroup) if len(dlg['logGroups']) == 0: logs.create_log_group(logGroupName=logGroup) # check if log stream exists, create if not dls = logs.describe_log_streams(logGroupName=logGroup, logStreamNamePrefix=logStream) if len(dls['logStreams']) == 0: logs.create_log_stream(logGroupName=logGroup, logStreamName=logStream) # translate log event messages from source language to target language for logevent in json_log['logEvents']: logevent['message'] = translate.translate_text(Text=logevent['message'], SourceLanguageCode=os.environ['source_language'], TargetLanguageCode=os.environ['target_language']).get('TranslatedText') del logevent['id'] # write translated log events back to a different log group in CloudWatch logs.put_log_events( logGroupName = logGroup, logStreamName = logStream, logEvents = json_log['logEvents'] ) # return success return { 'statusCode': 200, 'body': 'Translation success!' }

Tesztelje az oldatot

Végül a megoldás teszteléséhez létrehozhat egy naplóüzenetet a CloudWatch konzolon keresztül, és kiválaszthatja a létrehozott naplócsoportot és naplófolyamot.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

A naplóüzenetek létrehozása után azonnal lefordítva láthatja azokat.

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Tisztítsuk meg

Az ebben a bejegyzésben létrehozott erőforrások megtisztításához törölje a CloudFormation veremét a CloudFormation konzolon keresztül.

Következtetés

Ez a bejegyzés foglalkozott azzal a kihívással, amellyel a fejlesztők és a támogatási csapatok szembesülnek, amikor az alkalmazásnaplókat az angoltól eltérő nyelven jelenítik meg, ami megnehezíti számukra a hibakeresést és a támogatás nyújtását. A javasolt megoldás az Amazon Translate segítségével automatikusan lefordítja a nem angol nyelvű naplókat a CloudWatch szolgáltatásban, és lépésről lépésre útmutatást ad a megoldás környezetbe való telepítéséhez. Ezzel a megvalósítással a fejlesztők most zökkenőmentesen áthidalhatják a nyelvi akadályokat, lehetővé téve számukra a problémák gyors és hatékony megoldását.

Próbálja ki ezt a megvalósítást, és ossza meg velünk gondolatait a megjegyzésekben.


A szerzőről

Unlocking language barriers: Translate application logs with Amazon Translate for seamless support | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Xan Huang az AWS vezető megoldások építésze, székhelye Szingapúr. A nagy pénzintézetekkel együttműködve biztonságos, méretezhető és magasan elérhető megoldásokat tervez és épít a felhőben. A munkán kívül Xan szabadidejének nagy részét a családjával tölti, és dokumentálja lánya felnövekedési útját.

Időbélyeg:

Még több AWS gépi tanulás