Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS
Esempi per Amazon Translate con SDK per JavaScript (v3)
Gli esempi di codice seguenti mostrano come eseguire operazioni e implementare scenari comuni utilizzando AWS SDK per JavaScript (v3) con Amazon Translate.
Scenari: esempi di codice che mostrano come eseguire un’attività specifica chiamando più funzioni all’interno dello stesso servizio o combinate con altri Servizi AWS.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Scenari
L’esempio di codice seguente mostra come creare un’applicazione che registra, trascrive e traduce l’audio in tempo reale e invia tramite e-mail i risultati.
- SDK per JavaScript (v3)
-
Mostra come utilizzare Amazon Transcribe per creare un’applicazione che registra, trascrive e traduce l’audio in tempo reale e invia i risultati per e-mail tramite Amazon Simple Email Service (Amazon SES).
Per il codice sorgente completo e le istruzioni su come configurare ed eseguire, consulta l’esempio completo su GitHub
. Servizi utilizzati in questo esempio
Amazon Comprehend
Amazon SES
Amazon Transcribe
Amazon Translate
L’esempio di codice seguente mostra come creare un chatbot per coinvolgere i visitatori del sito web.
- SDK per JavaScript (v3)
-
Mostra come utilizzare l’API Amazon Lex per creare un chatbot all’interno di un’applicazione web per coinvolgere i visitatori del sito web.
Per il codice sorgente completo e le istruzioni sulle procedure di configurazione ed esecuzione, consulta l’esempio completo Creazione di un chatbot Amazon Lex nella Guida per gli sviluppatori di AWS SDK per JavaScript.
Servizi utilizzati in questo esempio
Amazon Comprehend
Amazon Lex
Amazon Translate
L’esempio di codice seguente mostra come creare un’applicazione che analizza le schede dei commenti dei clienti, le traduce dalla loro lingua originale, ne determina il sentiment e genera un file audio dal testo tradotto.
- SDK per JavaScript (v3)
-
Questa applicazione di esempio analizza e archivia le schede di feedback dei clienti. In particolare, soddisfa l’esigenza di un hotel fittizio a New York City. L’hotel riceve feedback dagli ospiti in varie lingue sotto forma di schede di commento fisiche. Tale feedback viene caricato nell’app tramite un client Web. Dopo aver caricato l’immagine di una scheda di commento, vengono eseguiti i seguenti passaggi:
-
Il testo viene estratto dall’immagine utilizzando Amazon Textract.
-
Amazon Comprehend determina il sentiment del testo estratto e la sua lingua.
-
Il testo estratto viene tradotto in inglese utilizzando Amazon Translate.
-
Amazon Polly sintetizza un file audio dal testo estratto.
L’app completa può essere implementata con AWS CDK. Per il codice sorgente e le istruzioni di implementazione, consulta il progetto in GitHub
. I seguenti estratti mostrano come AWS SDK per JavaScript viene utilizzato all’interno delle funzioni Lambda. import { ComprehendClient, DetectDominantLanguageCommand, DetectSentimentCommand, } from "@aws-sdk/client-comprehend"; /** * Determine the language and sentiment of the extracted text. * * @param {{ source_text: string}} extractTextOutput */ export const handler = async (extractTextOutput) => { const comprehendClient = new ComprehendClient({}); const detectDominantLanguageCommand = new DetectDominantLanguageCommand({ Text: extractTextOutput.source_text, }); // The source language is required for sentiment analysis and // translation in the next step. const { Languages } = await comprehendClient.send( detectDominantLanguageCommand, ); const languageCode = Languages[0].LanguageCode; const detectSentimentCommand = new DetectSentimentCommand({ Text: extractTextOutput.source_text, LanguageCode: languageCode, }); const { Sentiment } = await comprehendClient.send(detectSentimentCommand); return { sentiment: Sentiment, language_code: languageCode, }; };import { DetectDocumentTextCommand, TextractClient, } from "@aws-sdk/client-textract"; /** * Fetch the S3 object from the event and analyze it using Amazon Textract. * * @param {import("@types/aws-lambda").EventBridgeEvent<"Object Created">} eventBridgeS3Event */ export const handler = async (eventBridgeS3Event) => { const textractClient = new TextractClient(); const detectDocumentTextCommand = new DetectDocumentTextCommand({ Document: { S3Object: { Bucket: eventBridgeS3Event.bucket, Name: eventBridgeS3Event.object, }, }, }); // Textract returns a list of blocks. A block can be a line, a page, word, etc. // Each block also contains geometry of the detected text. // For more information on the Block type, see https://docs.aws.amazon.com/textract/latest/dg/API_Block.html. const { Blocks } = await textractClient.send(detectDocumentTextCommand); // For the purpose of this example, we are only interested in words. const extractedWords = Blocks.filter((b) => b.BlockType === "WORD").map( (b) => b.Text, ); return extractedWords.join(" "); };import { PollyClient, SynthesizeSpeechCommand } from "@aws-sdk/client-polly"; import { S3Client } from "@aws-sdk/client-s3"; import { Upload } from "@aws-sdk/lib-storage"; /** * Synthesize an audio file from text. * * @param {{ bucket: string, translated_text: string, object: string}} sourceDestinationConfig */ export const handler = async (sourceDestinationConfig) => { const pollyClient = new PollyClient({}); const synthesizeSpeechCommand = new SynthesizeSpeechCommand({ Engine: "neural", Text: sourceDestinationConfig.translated_text, VoiceId: "Ruth", OutputFormat: "mp3", }); const { AudioStream } = await pollyClient.send(synthesizeSpeechCommand); const audioKey = `${sourceDestinationConfig.object}.mp3`; // Store the audio file in S3. const s3Client = new S3Client(); const upload = new Upload({ client: s3Client, params: { Bucket: sourceDestinationConfig.bucket, Key: audioKey, Body: AudioStream, ContentType: "audio/mp3", }, }); await upload.done(); return audioKey; };import { TranslateClient, TranslateTextCommand, } from "@aws-sdk/client-translate"; /** * Translate the extracted text to English. * * @param {{ extracted_text: string, source_language_code: string}} textAndSourceLanguage */ export const handler = async (textAndSourceLanguage) => { const translateClient = new TranslateClient({}); const translateCommand = new TranslateTextCommand({ SourceLanguageCode: textAndSourceLanguage.source_language_code, TargetLanguageCode: "en", Text: textAndSourceLanguage.extracted_text, }); const { TranslatedText } = await translateClient.send(translateCommand); return { translated_text: TranslatedText }; };Servizi utilizzati in questo esempio
Amazon Comprehend
Lambda
Amazon Polly
Amazon Textract
Amazon Translate
-