Exemples d'Amazon Polly - AWS SDK for JavaScript

Le guide de référence de l'API AWS SDK for JavaScript V3 décrit en détail toutes les opérations de l'API pour la AWS SDK for JavaScript version 3 (V3).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'Amazon Polly


            JavaScript code example that applies to Node.js execution

Cet exemple de code Node.js présente :

  • Importer du contenu audio enregistré à l'aide d'Amazon Polly vers Amazon S3

Le scénario

Dans cet exemple, une série de modules Node.js sont utilisés pour télécharger automatiquement le son enregistré à l'aide d'Amazon Polly vers Amazon S3 en utilisant les méthodes suivantes de la classe client Amazon S3 :

Tâches préalables

Pour configurer et exécuter cet exemple, vous devez d'abord :

  • Configurez un environnement de projet pour exécuter JavaScript des exemples de nœuds en suivant les instructions figurant sur GitHub.

  • Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur la fourniture d'un fichier d'informations d'identification partagé, consultez la section Fichiers de configuration et d'informations d'identification partagés dans le Guide de référence AWS des SDK et des outils.

  • Créez une enquête de rôle d'utilisateur Amazon Cognito non authentifiée AWS Identity and Access Management (IAM) : autorisations, SynthesizeSpeech et un pool d'identités Amazon Cognito auquel le rôle IAM est associé. La Créez les AWS ressources à l'aide du AWS CloudFormation section ci-dessous décrit comment créer ces ressources.

Note

Cet exemple utilise Amazon Cognito, mais si vous n'utilisez pas Amazon Cognito, AWS votre utilisateur doit avoir la politique d'autorisation IAM suivante

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

Créez les AWS ressources à l'aide du AWS CloudFormation

AWS CloudFormationvous permet de créer et de provisionner des déploiements AWS d'infrastructure de manière prévisible et répétée. Pour plus d'informations sur AWS CloudFormation, consultez le AWS CloudFormationGuide de l'utilisateur .

Pour créer la AWS CloudFormation pile :

  1. Installez et configurez en AWS CLI suivant les instructions du guide de l'AWS CLIutilisateur.

  2. Créez un fichier nommé setup.yaml dans le répertoire racine du dossier de votre projet et GitHubcopiez-y le contenu.

    Note

    Le AWS CloudFormation modèle a été généré à l'aide du modèle AWS CDK disponible ici GitHub. Pour en savoir plus sur le AWS CDK, veuillez consulter le Guide du développeur AWS Cloud Development Kit (AWS CDK).

  3. Exécutez la commande suivante depuis la ligne de commande, en remplaçant STACK_NAME par un nom unique pour la pile.

    Important

    Le nom de la pile doit être unique au sein d'une AWS région et d'un AWS compte. Vous pouvez spécifier jusqu'à 128 caractères. Les chiffres et les tirets sont autorisés.

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

    Pour plus d'informations sur les paramètres de create-stack commande, consultez le guide de référence des AWS CLI commandes et le guide de AWS CloudFormation l'utilisateur.

  4. Accédez à la console AWS CloudFormation de gestion, choisissez Stacks, choisissez le nom de la pile, puis cliquez sur l'onglet Ressources pour afficher la liste des ressources créées.

    
                    Ressources AWS CloudFormation

Importer du contenu audio enregistré à l'aide d'Amazon Polly vers Amazon S3

Créez un module Node.js nommé polly_synthesize_to_s3.js. Assurez-vous de configurer le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis. Dans le code, entrez la REGION et le BUCKET_NAME. Pour accéder à Amazon Polly, créez un objet de service Polly client. Remplacez « IDENTITY_POOL_ID » par celui IdentityPoolId de la page d'exemple du pool d'identités Amazon Cognito que vous avez créé pour cet exemple. Ceci est également transmis à chaque objet client.

Appelez la StartSpeechSynthesisCommand méthode de l'objet du service client Amazon Polly, synthétisez le message vocal et chargez-le dans le compartiment Amazon S3.

const { StartSpeechSynthesisTaskCommand } = require("@aws-sdk/client-polly"); const { pollyClient } = require("./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();

Cet exemple de code se trouve ici sur GitHub.