Exemplos do Amazon Polly - AWS SDK for JavaScript

O Guia de API referência da AWS SDK for JavaScript V3 descreve detalhadamente todas as API operações da AWS SDK for JavaScript versão 3 (V3).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos do Amazon Polly

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Faça upload do áudio gravado usando o Amazon Polly para o Amazon S3

O cenário

Neste exemplo, uma série de módulos Node.js é usada para carregar automaticamente o áudio gravado usando o Amazon Polly para o Amazon S3 usando esses métodos da classe de cliente Amazon S3:

Tarefas de pré-requisito

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:

  • Configure um ambiente de projeto para executar JavaScript exemplos do Node seguindo as instruções em GitHub.

  • Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas AWS SDKs e ferramentas.

  • Crie uma AWS Identity and Access Management (IAM) política de funções de usuário do Amazon Cognito não autenticadaSynthesizeSpeech : permissões e um pool de identidade do Amazon Cognito com a função associada a ela. IAM A seção Crie os AWS recursos usando o AWS CloudFormation abaixo descreve como criar esses recursos.

nota

Este exemplo usa o Amazon Cognito, mas se você não estiver usando o Amazon Cognito, AWS seu usuário deverá ter a seguinte política de permissões IAM

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

Crie os AWS recursos usando o AWS CloudFormation

AWS CloudFormation permite que você crie e provisione implantações de AWS infraestrutura de forma previsível e repetida. Para obter mais informações sobre AWS CloudFormation, consulte o Guia AWS CloudFormation do usuário.

Para criar a AWS CloudFormation pilha:

  1. Instale e configure as instruções a AWS CLI seguir no Guia AWS CLI do usuário.

  2. Crie um arquivo chamado setup.yaml no diretório raiz da pasta do seu projeto e copie o conteúdo aqui GitHub para dentro dele.

    nota

    O AWS CloudFormation modelo foi gerado usando o AWS CDK disponível aqui em GitHub. Para obter mais informações sobre o AWS CDK, consulte o Guia do AWS Cloud Development Kit (AWS CDK) desenvolvedor.

  3. Execute o seguinte comando na linha de comando, substituindo STACK_NAME com um nome exclusivo para a pilha.

    Importante

    O nome da pilha deve ser exclusivo dentro de uma AWS região e AWS conta. Você pode especificar até 128 caracteres. São permitidos números e hifens.

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

    Para obter mais informações sobre os parâmetros do comando create-stack, consulte o Guia de referência de comandos da AWS CLI e o Guia do usuário do AWS CloudFormation.

  4. Navegue até o console AWS CloudFormation de gerenciamento, escolha Pilhas, escolha o nome da pilha e escolha a guia Recursos para ver uma lista dos recursos criados.

    AWS CloudFormation recursos

Faça upload do áudio gravado usando o Amazon Polly para o Amazon S3

Crie um módulo do Node.js com o nome de arquivo polly_synthesize_to_s3.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários. No código, insira o REGION, e o BUCKET_NAME. Para acessar o Amazon Polly, crie um objeto de atendimento Polly ao cliente. Substituir "IDENTITY_POOL_ID" com a página IdentityPoolId de amostra do pool de identidade do Amazon Cognito que você criou para este exemplo. Isso também é passado para cada objeto do cliente.

Chame o método StartSpeechSynthesisCommand do objeto de serviço de cliente do Amazon Polly, sintetize a mensagem de voz e carregue-a para o bucket do 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();

Esse código de exemplo pode ser encontrado aqui em GitHub.