

 [Panduan Referensi API AWS SDK untuk JavaScript V3](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/) menjelaskan secara rinci semua operasi API untuk AWS SDK untuk 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
<a name="polly-examples"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v3/developer-guide/images/nodeicon.png)

**Contoh kode Node.js ini menunjukkan:**
+ Unggah audio yang direkam menggunakan Amazon Polly ke Amazon S3

## Skenario
<a name="polly-example-synthesize-to-s3-scenario"></a>

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:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-polly/Class/StartSpeechSynthesisTaskCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-polly/Class/StartSpeechSynthesisTaskCommand/)

## Tugas prasyarat
<a name="polly-example-synthesize-to-s3-prerequisites"></a>

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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascriptv3/example_code/s3/README.md).
+ 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 Alat](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) dan Alat.AWS SDKs *
+ 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 CloudFormation](#polly-example-synthesize-to-s3-create-resources)Bagian 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 CloudFormation
<a name="polly-example-synthesize-to-s3-create-resources"></a>

CloudFormation memungkinkan Anda untuk membuat dan menyediakan penyebaran AWS infrastruktur yang dapat diprediksi dan berulang kali. Untuk informasi selengkapnya CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/).

Untuk membuat CloudFormation tumpukan:

1. Instal dan konfigurasikan petunjuk AWS CLI berikut di [Panduan AWS CLI Pengguna](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

1. Buat file bernama `setup.yaml` di direktori root folder proyek Anda, dan salin konten [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/polly/general-examples/src/setup.yaml) ke dalamnya. 
**catatan**  
 CloudFormation Template dibuat menggunakan yang AWS CDK tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/resources/cdk/javascript_example_code_polly_aws_service/). Untuk informasi selengkapnya tentang ini AWS CDK, lihat [Panduan AWS Cloud Development Kit (AWS CDK) Pengembang](https://docs.aws.amazon.com/cdk/latest/guide/).

1. Jalankan perintah berikut dari baris perintah, ganti *STACK\$1NAME* 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](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html), dan [Panduan CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html).

1. Arahkan ke konsol CloudFormation manajemen, pilih **Tumpukan**, pilih nama tumpukan, dan pilih tab **Sumber Daya** untuk melihat daftar sumber daya yang dibuat.  
![\[CloudFormation sumber daya\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v3/developer-guide/images/cfn_polly.png)

## Unggah audio yang direkam menggunakan Amazon Polly ke Amazon S3
<a name="polly-example-synthesize-to-s3-example"></a>

Buat modul Node.js dengan nama file`polly_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\$1NAME*. Untuk mengakses Amazon Polly, buat objek layanan `Polly` klien. Ganti *"IDENTITY\$1POOL\$1ID"* dengan `IdentityPoolId` dari **halaman Contoh** 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
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();
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascriptv3/example_code/polly/general-examples/src/polly_synthesize_to_s3.js).