O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).
Exemplos do Amazon Polly
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 exemplos do Node JavaScript seguindo as instruções no 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 e SDKs da AWS.
Crie permissões polly:SynthesizeSpeech de uma função de usuário não autenticado do Amazon Cognito do AWS Identity and Access Management (IAM) e um banco de identidades do Amazon Cognito com o perfil do IAM anexado a ele. A seção Criar os recursos da AWS usando o CloudFormation abaixo descreve como criar esses recursos.
nota
Este exemplo usa o Amazon Cognito, mas se você não estiver usando o Amazon Cognito, seu usuário da AWS deverá seguir a política de permissões do IAM.
Criar os recursos da AWS usando o CloudFormation
O CloudFormation permite que você crie e provisione implantações de infraestrutura da AWS de maneira previsível e repetida. Para obter mais informações sobre o CloudFormation, consulte o Guia do usuário do AWS CloudFormation.
Para criar a pilha do CloudFormation:
Instale e configure a AWS CLI seguindo as instruções no Guia do usuário da AWS CLI.
Crie um arquivo chamado
setup.yamlno diretório raiz da pasta do projeto e copie o conteúdo aqui no GitHubpara ele. nota
O modelo CloudFormation foi gerado usando o AWS CDK disponível aqui no GitHub
. Para obter mais informações sobre o AWS CDK, consulte o Guia do desenvolvedor do AWS Cloud Development Kit (AWS CDK). Execute o comando a seguir na linha de comando, substituindo
STACK_NAMEpor um nome exclusivo para a pilha.Importante
O nome da pilha deve ser exclusivo em uma Região da AWS e na conta da AWS. 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_IAMPara 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 CloudFormation.-
Navegue até o console de gerenciamento do CloudFormation, escolha Pilhas, selecione o nome da pilha e a guia Recursos para ver uma lista dos recursos criados.
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 a REGION e o BUCKET_NAME. Para acessar o Amazon Polly, crie um objeto de serviço de cliente do Polly. Substitua "IDENTITY_POOL_ID" pelo IdentityPoolId da página de exemplo do banco de identidades 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();
Este código de exemplo pode ser encontrado aqui no GitHub