Contoh Amazon Polly - AWS SDK for JavaScript

Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Amazon Polly

JavaScript code example that applies to Node.js execution

Contoh kode Node.js ini menunjukkan:

  • Unggah audio yang direkam menggunakan Amazon Polly ke Amazon S3

Skenario

Dalam contoh ini, serangkaian modul Node.js digunakan untuk mengunggah audio yang direkam secara otomatis menggunakan Amazon Polly ke Amazon S3 menggunakan metode kelas klien Amazon S3 ini:

Tugas prasyarat

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:

  • Siapkan lingkungan proyek untuk menjalankan JavaScript contoh Node dengan mengikuti petunjuk pada GitHub.

  • Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat File konfigurasi dan kredensial bersama di Panduan Referensi AWS SDK dan Alat.

  • Buat AWS Identity and Access Management (IAM) Peran pengguna Amazon Cognito yang tidak diautentikasi polly: izinSynthesizeSpeech , dan kumpulan identitas Amazon Cognito dengan peran IAM yang dilampirkan padanya. Buat AWS sumber daya menggunakan AWS CloudFormationBagian di bawah ini menjelaskan cara membuat sumber daya ini.

catatan

Contoh ini menggunakan Amazon Cognito, tetapi jika Anda tidak menggunakan Amazon Cognito maka pengguna AWS Anda harus mengikuti kebijakan izin IAM

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

Buat AWS sumber daya menggunakan AWS CloudFormation

AWS CloudFormation memungkinkan Anda untuk membuat dan menyediakan penyebaran AWS infrastruktur yang dapat diprediksi dan berulang kali. Untuk informasi selengkapnya AWS CloudFormation, lihat Panduan AWS CloudFormation Pengguna.

Untuk membuat AWS CloudFormation tumpukan:

  1. Instal dan konfigurasikan petunjuk AWS CLI berikut di Panduan AWS CLI Pengguna.

  2. Buat file bernama setup.yaml di direktori root folder proyek Anda, dan salin konten di sini GitHub ke dalamnya.

    catatan

    AWS CloudFormation Template dibuat menggunakan yang AWS CDK tersedia di sini GitHub. Untuk informasi selengkapnya tentang AWS CDK, lihat Panduan AWS Cloud Development Kit (AWS CDK) Pengembang.

  3. Jalankan perintah berikut dari baris perintah, ganti STACK_NAME dengan nama unik untuk tumpukan.

    penting

    Nama tumpukan harus unik dalam AWS Wilayah dan AWS akun. Anda dapat menentukan hingga 128 karakter, dan angka serta tanda hubung diizinkan.

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

    Untuk informasi selengkapnya tentang parameter create-stack perintah, lihat panduan Referensi AWS CLI Perintah, dan Panduan AWS CloudFormation Pengguna.

  4. Arahkan ke konsol AWS CloudFormation manajemen, pilih Tumpukan, pilih nama tumpukan, dan pilih tab Sumber Daya untuk melihat daftar sumber daya yang dibuat.

    AWS CloudFormation sumber daya

Unggah audio yang direkam menggunakan Amazon Polly ke Amazon S3

Buat modul Node.js dengan nama filepolly_synthesize_to_s3.js. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan. Dalam kode, masukkan REGION, dan BUCKET_NAME. Untuk mengakses Amazon Polly, buat objek layanan Polly klien. Ganti “IDENTITY_POOL_ID” dengan halaman IdentityPoolId dari Sample dari kumpulan identitas Amazon Cognito yang Anda buat untuk contoh ini. Ini juga diteruskan ke setiap objek klien.

Panggil StartSpeechSynthesisCommand metode objek layanan klien Amazon Polly mensintesis pesan suara dan mengunggahnya ke bucket 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();

Kode contoh ini dapat ditemukan di sini GitHub.