Ejemplos de Amazon Polly - AWS SDK para JavaScript

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

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:

  • Configura un entorno de proyecto para ejecutar ejemplos de JavaScript 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 de las herramientas y los SDK de AWS.

  • Crear una encuesta de roles de usuario no autenticados de Amazon Cognito de AWS Identity and Access Management (IAM): permisos de SynthesizeSpeech y un grupo de identidades de Amazon Cognito con el rol de IAM asociado. En la siguiente sección Crear los recursos de AWS usando AWS CloudFormation, se describe cómo crear estos recursos.

nota

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

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

Crear los recursos de AWS usando AWS CloudFormation

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

Para crear la pila de AWS CloudFormation:

  1. Para instalar y configurar la AWS CLI, siga las instrucciones de la Guía del usuario de AWS CLI.

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

    nota

    La plantilla de CloudFormation se generó usando el AWS CDK disponible aquí en GitHub. Para obtener más información acerca del AWS CDK, consulte la Guía para desarrolladores del AWS Cloud Development Kit (CDK).

  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 tiene que ser único en una región de AWS de una cuenta de AWS. 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. Vaya a la consola de administración de CloudFormation, seleccione Pilas, elija el nombre de la pila y seleccione la pestaña Recursos para ver una lista de los recursos creados.

    Recursos de AWS CloudFormation

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 const 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 ejemplo se puede encontrar aquí en GitHub.