Ejemplos de Amazon Polly - AWS SDK for JavaScript

La guía de API referencia de la versión AWS SDK for JavaScript 3 describe en detalle todas las API operaciones de la AWS SDK for JavaScript versión 3 (V3).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Amazon Polly

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cargue el audio grabado con Amazon Polly a Amazon S3

El escenario

En este ejemplo, se utilizan una serie de módulos de Node.js para cargar automáticamente el audio grabado con Amazon Polly a Amazon S3 mediante estos métodos de la clase de cliente de Amazon S3:

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

  • Configure un entorno de proyecto para ejecutar JavaScript ejemplos de Node siguiendo las instrucciones de GitHub.

  • Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información sobre proporcionar un archivo de credenciales compartido, consulte Archivos de configuración y credenciales compartidos en la Guía de referencia las herramientas y los SDK de AWS.

  • Cree una encuesta de roles de usuario de Amazon Cognito AWS Identity and Access Management (IAM) no autenticada: permisos SynthesizeSpeech y un grupo de identidades de Amazon Cognito con la función de IAM asociada. En la siguiente sección Cree los recursos mediante el AWSAWS CloudFormation, se describe cómo crear estos recursos.

nota

En este ejemplo se utiliza Amazon Cognito, pero si no utiliza Amazon Cognito, el usuario debe cumplir con la siguiente política AWS de permisos de IAM

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Resource": "*", "Effect": "Allow" }, { "Action": "polly:SynthesizeSpeech", "Resource": "*", "Effect": "Allow" } ] }

Cree los recursos mediante el AWSAWS CloudFormation

AWS CloudFormation le permite crear y aprovisionar despliegues de AWS infraestructura de forma predecible y repetitiva. Para obtener más información al respecto AWS CloudFormation, consulte la Guía del AWS CloudFormation usuario.

Para crear la AWS CloudFormation pila:

  1. Instale y configure las AWS CLI siguientes instrucciones de la Guía del AWS CLI usuario.

  2. Cree un archivo con un nombre setup.yaml en el directorio raíz de la carpeta de su proyecto y copie el contenido GitHub en él.

    nota

    La AWS CloudFormation plantilla se generó utilizando lo que AWS CDK está disponible aquí GitHub. Para obtener más información sobre el AWS CDK, consulte la Guía para AWS Cloud Development Kit (AWS CDK) desarrolladores.

  3. Ejecute el siguiente comando desde la línea de comandos y reemplace STACK_NAME por un nombre único para la pila.

    importante

    El nombre de la pila debe ser único en AWS la región y en la AWS cuenta. El nombre puede tener una longitud de hasta 128 caracteres, y se permiten números y guiones.

    aws cloudformation create-stack --stack-name STACK_NAME --template-body file://setup.yaml --capabilities CAPABILITY_IAM

    Para obtener más información sobre los parámetros de los comandos create-stack, consulte la Guía de referencia de comandos de AWS CLI y la Guía del usuario de AWS CloudFormation.

  4. Ve a la consola AWS CloudFormation de administración, selecciona Pilas, elige el nombre de la pila y selecciona la pestaña Recursos para ver una lista de los recursos creados.

    AWS CloudFormation recursos

Cargue el audio grabado con Amazon Polly a Amazon S3

Cree un módulo de Node.js con el nombre de archivo polly_synthesize_to_s3.js. Asegúrese de configurar el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios. En el código, introduce la REGION y el BUCKET_NAME. Para acceder a Amazon Polly, cree un objeto de servicio al cliente de Polly. Sustituya “IDENTITY_POOL_ID” por el IdentityPoolId de la página de muestra del grupo de identidades de Amazon Cognito que creó para este ejemplo. Esto también se transfiere a cada objeto de cliente.

Llame al método StartSpeechSynthesisCommand del objeto de servicio al cliente de Amazon Polly, sintetice el mensaje de voz y cárguelo en el bucket de Amazon S3.

import { StartSpeechSynthesisTaskCommand } from "@aws-sdk/client-polly"; import { pollyClient } from "./libs/pollyClient.js"; // Create the parameters var params = { OutputFormat: "mp3", OutputS3BucketName: "videoanalyzerbucket", Text: "Hello David, How are you?", TextType: "text", VoiceId: "Joanna", SampleRate: "22050", }; const run = async () => { try { await pollyClient.send(new StartSpeechSynthesisTaskCommand(params)); console.log("Success, audio file added to " + params.OutputS3BucketName); } catch (err) { console.log("Error putting object", err); } }; run();

Este código de muestra se puede encontrar aquí en GitHub.