

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

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

# Menyiapkan SDK untuk JavaScript
<a name="setting-up"></a>

Topik di bagian ini menjelaskan cara menginstal SDK JavaScript untuk digunakan di browser web dan dengan Node.js. Ini juga menunjukkan cara memuat SDK sehingga Anda dapat mengakses layanan web yang didukung oleh SDK.

**catatan**  
Pengembang React Native harus menggunakan AWS Amplify untuk membuat proyek baru di AWS. Lihat [aws-sdk-react-native](https://github.com/amazon-archives/aws-sdk-react-native)arsip untuk detailnya.

**Topics**
+ [Prasyarat](jssdk-prerequisites.md)
+ [Menginstal SDK untuk JavaScript](installing-jssdk.md)
+ [Memuat SDK untuk JavaScript](loading-the-jssdk.md)
+ [Memutakhirkan SDK untuk JavaScript dari Versi 1](upgrading-from-v1.md)

# Prasyarat
<a name="jssdk-prerequisites"></a>

Sebelum Anda menggunakan AWS SDK untuk JavaScript, tentukan apakah kode Anda perlu dijalankan di Node.js atau browser web. Setelah itu, lakukan hal berikut: 
+ Untuk Node.js, instal Node.js di server Anda jika belum diinstal.
+ Untuk browser web, identifikasi versi browser yang perlu Anda dukung.

**Topics**
+ [Menyiapkan Lingkungan AWS Node.js](setting-up-node.md)
+ [Web Browser Didukung](browsers-supported.md)

# Menyiapkan Lingkungan AWS Node.js
<a name="setting-up-node"></a>

Untuk menyiapkan lingkungan AWS Node.js di mana Anda dapat menjalankan aplikasi Anda, gunakan salah satu metode berikut:
+ Pilih Amazon Machine Image (AMI) dengan Node.js yang sudah diinstal sebelumnya dan buat instans Amazon EC2 menggunakan AMI tersebut. Saat membuat instans Amazon EC2 Anda, pilih AMI Anda dari. AWS Marketplace AWS Marketplace Cari Node.js dan pilih opsi AMI yang menyertakan versi Node.js (32-bit atau 64-bit) yang sudah diinstal sebelumnya.
+ Buat instans Amazon EC2 dan instal Node.js di atasnya. Untuk informasi selengkapnya tentang cara menginstal Node.js pada instance Amazon Linux, lihat[Tutorial: Menyiapkan Node.js pada Instans Amazon EC2](setting-up-node-on-ec2-instance.md).
+ Buat lingkungan tanpa server menggunakan AWS Lambda untuk menjalankan Node.js sebagai fungsi Lambda. Untuk informasi selengkapnya tentang penggunaan Node.js dalam fungsi Lambda, lihat [Model Pemrograman (Node.js)](https://docs.aws.amazon.com/lambda/latest/dg/programming-model.html) di Panduan *AWS Lambda Pengembang*.
+ Terapkan aplikasi Node.js Anda ke AWS Elastic Beanstalk. *Untuk informasi selengkapnya tentang penggunaan Node.js dengan Elastic Beanstalk[, lihat Menerapkan Aplikasi Node.js AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html) ke dalam Panduan Pengembang.AWS Elastic Beanstalk * 

# Web Browser Didukung
<a name="browsers-supported"></a>

SDK untuk JavaScript mendukung semua browser web modern, termasuk versi minimum ini:


****  

| Peramban | Versi | 
| --- | --- | 
| Google Chrome | 28.0\$1 | 
| Mozilla Firefox | 26.0\$1 | 
| Opera | 17.0\$1 | 
| Microsoft Edge | 25.10\$1 | 
| Windows Internet Explorer | N/A | 
| Apple Safari | 5\$1 | 
| Peramban Android | 4.3\$1 | 

**catatan**  
Kerangka kerja seperti AWS Amplify mungkin tidak menawarkan dukungan browser yang sama dengan SDK untuk. JavaScript Periksa dokumentasi kerangka kerja untuk detailnya.

# Menginstal SDK untuk JavaScript
<a name="installing-jssdk"></a>

Apakah dan bagaimana Anda menginstal AWS SDK untuk JavaScript tergantung apakah kode dijalankan dalam modul Node.js atau skrip browser.

Tidak semua layanan segera tersedia di SDK. Untuk mengetahui layanan mana yang saat ini didukung oleh AWS SDK untuk JavaScript, lihat [https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md)

------
#### [ Node ]

Cara yang lebih disukai untuk menginstal AWS SDK untuk JavaScript untuk Node.js adalah dengan menggunakan [npm, manajer paket Node.js](https://www.npmjs.com/). Untuk melakukannya, ketik ini di baris perintah.

```
npm install aws-sdk
```

Jika Anda melihat pesan galat ini:

```
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
```

Ketik perintah ini di baris perintah:

```
npm uninstall --save node-uuid
npm install --save uuid
```

------
#### [ Browser ]

Anda tidak perlu menginstal SDK untuk menggunakannya dalam skrip browser. Anda dapat memuat paket SDK yang dihosting langsung dari Amazon Web Services dengan skrip di halaman HTML Anda. Paket SDK yang dihosting mendukung subset AWS layanan yang menerapkan berbagi sumber daya lintas asal (CORS). Untuk informasi selengkapnya, lihat [Memuat SDK untuk JavaScript](loading-the-jssdk.md).

Anda dapat membuat pembuatan kustom SDK tempat Anda memilih layanan web dan versi tertentu yang ingin Anda gunakan. Anda kemudian mengunduh paket SDK khusus Anda untuk pengembangan lokal dan menghostingnya untuk digunakan aplikasi Anda. Untuk informasi selengkapnya tentang membuat custom build SDK, lihat[Membangun SDK untuk Browser](building-sdk-for-browsers.md).

Anda dapat mengunduh versi yang dapat didistribusikan yang diperkecil dan tidak diperkecil dari saat ini dari di: AWS SDK untuk JavaScript GitHub 

[https://github.com/aws/aws-sdk-js/tree/master/dist](https://github.com/aws/aws-sdk-js/tree/master/dist)

------

## Instalasi Menggunakan Bower
<a name="w2aac13c11b9"></a>

[Bower](https://bower.io) adalah manajer paket untuk web. Setelah Anda menginstal Bower, Anda dapat menggunakannya untuk menginstal SDK. Untuk menginstal SDK menggunakan Bower, ketik berikut ini ke jendela terminal:

```
bower install aws-sdk-js
```

# Memuat SDK untuk JavaScript
<a name="loading-the-jssdk"></a>

Cara Anda memuat SDK JavaScript tergantung pada apakah Anda memuatnya untuk dijalankan di browser web atau di Node.js.

Tidak semua layanan segera tersedia di SDK. Untuk mengetahui layanan mana yang saat ini didukung oleh AWS SDK untuk JavaScript, lihat [https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md)

------
#### [ Node.js ]

Setelah Anda menginstal SDK, Anda dapat memuat AWS paket dalam aplikasi node Anda menggunakan`require`. 

```
var AWS = require('aws-sdk');
```

------
#### [ React Native ]

Untuk menggunakan SDK dalam proyek React Native, instal SDK terlebih dahulu menggunakan npm:

```
npm install aws-sdk
```

Dalam aplikasi Anda, rujuk versi SDK yang kompatibel dengan React Native dengan kode berikut:

```
var AWS = require('aws-sdk/dist/aws-sdk-react-native');
```

------
#### [ Browser ]

Cara tercepat untuk memulai SDK adalah memuat paket SDK yang dihosting langsung dari Amazon Web Services. Untuk melakukan ini, tambahkan `<script>` elemen ke halaman HTML Anda dalam bentuk berikut:

```
<script src="https://sdk.amazonaws.com/js/aws-sdk-SDK_VERSION_NUMBER.min.js"></script>
```

[Untuk menemukan SDK\$1VERSION\$1NUMBER saat ini, lihat Referensi API untuk SDK untuk Panduan Referensi API. JavaScript AWS SDK untuk JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/)

Setelah SDK dimuat di halaman Anda, SDK tersedia dari variabel global `AWS` (atau`window.AWS`).

Jika Anda menggabungkan kode dan dependensi modul menggunakan [browserify](http://browserify.org), Anda memuat SDK menggunakan`require`, seperti yang Anda lakukan di Node.js.

------

# Memutakhirkan SDK untuk JavaScript dari Versi 1
<a name="upgrading-from-v1"></a>

Catatan berikut membantu Anda meningkatkan SDK JavaScript dari versi 1 ke versi 2.

## Konversi Otomatis Jenis Base64 dan Timestamp pada Input/Output
<a name="upgrading-from-v1-base64-timestamp-conversion"></a>

SDK sekarang secara otomatis mengkodekan dan mendekode nilai yang dikodekan base64, serta nilai stempel waktu, atas nama pengguna. Perubahan ini memengaruhi operasi apa pun di mana nilai base64 atau stempel waktu dikirim oleh permintaan atau dikembalikan dalam respons yang memungkinkan nilai yang dikodekan base64.

Kode pengguna yang sebelumnya dikonversi base64 tidak lagi diperlukan. Nilai yang dikodekan sebagai base64 sekarang dikembalikan sebagai objek buffer dari respons server dan juga dapat diteruskan sebagai input buffer. Misalnya, `SQS.sendMessage` parameter versi 1 berikut:

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: new Buffer('example text').toString('base64')
      }
   }
};
```

Dapat ditulis ulang sebagai berikut.

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: 'example text'
      }
   }
};
```

Berikut adalah bagaimana pesan dibaca.

```
sqs.receiveMessage(params, function(err, data) {
  // buf is <Buffer 65 78 61 6d 70 6c 65 20 74 65 78 74>
  var buf = data.Messages[0].MessageAttributes.attrName.BinaryValue;
  console.log(buf.toString()); // "example text"
});
```

## Dipindahkan response.data. RequestId untuk response.Requestid
<a name="upgrading-from-v1-response-requestid"></a>

SDK sekarang menyimpan permintaan IDs untuk semua layanan di tempat yang konsisten pada `response` objek, bukan di dalam `response.data` properti. Ini meningkatkan konsistensi di seluruh layanan yang mengekspos permintaan dengan IDs cara yang berbeda. Ini juga merupakan perubahan besar yang mengganti nama `response.data.RequestId` properti menjadi `response.requestId` (`this.requestId`di dalam fungsi panggilan balik).

Dalam kode Anda, ubah yang berikut ini:

```
svc.operation(params, function (err, data) {
  console.log('Request ID:', data.RequestId);
});
```

Ke hal berikut:

```
svc.operation(params, function () {
  console.log('Request ID:', this.requestId);
});
```

## Elemen Pembungkus Terpapar
<a name="upgrading-from-v1-exposed-wrapper-elements"></a>

Jika Anda menggunakan`AWS.ElastiCache`,`AWS.RDS`, atau`AWS.Redshift`, Anda harus mengakses respons melalui properti output tingkat atas dalam respons untuk beberapa operasi. 

Misalnya, `RDS.describeEngineDefaultParameters` metode yang digunakan untuk mengembalikan yang berikut ini.

```
{ Parameters: [ ... ] }
```

Sekarang mengembalikan yang berikut ini.

```
{ EngineDefaults: { Parameters: [ ... ] } }
```

Daftar operasi yang terpengaruh untuk setiap layanan ditunjukkan pada tabel berikut.


****  

| Kelas Klien | Operasi | 
| --- | --- | 
| `AWS.ElastiCache` | `authorizeCacheSecurityGroupIngress` `createCacheCluster` `createCacheParameterGroup` `createCacheSecurityGroup` `createCacheSubnetGroup` `createReplicationGroup` `deleteCacheCluster` `deleteReplicationGroup` `describeEngineDefaultParameters` `modifyCacheCluster` `modifyCacheSubnetGroup` `modifyReplicationGroup` `purchaseReservedCacheNodesOffering` `rebootCacheCluster` `revokeCacheSecurityGroupIngress` | 
| `AWS.RDS` | `addSourceIdentifierToSubscription` `authorizeDBSecurityGroupIngress` `copyDBSnapshot` `createDBInstance` `createDBInstanceReadReplica` `createDBParameterGroup` `createDBSecurityGroup` `createDBSnapshot` `createDBSubnetGroup` `createEventSubscription` `createOptionGroup` `deleteDBInstance` `deleteDBSnapshot` `deleteEventSubscription` `describeEngineDefaultParameters` `modifyDBInstance` `modifyDBSubnetGroup` `modifyEventSubscription` `modifyOptionGroup` `promoteReadReplica` `purchaseReservedDBInstancesOffering` `rebootDBInstance` `removeSourceIdentifierFromSubscription` `restoreDBInstanceFromDBSnapshot` `restoreDBInstanceToPointInTime` `revokeDBSecurityGroupIngress` | 
| `AWS.Redshift` | `authorizeClusterSecurityGroupIngress` `authorizeSnapshotAccess` `copyClusterSnapshot` `createCluster` `createClusterParameterGroup` `createClusterSecurityGroup` `createClusterSnapshot` `createClusterSubnetGroup` `createEventSubscription` `createHsmClientCertificate` `createHsmConfiguration` `deleteCluster` `deleteClusterSnapshot` `describeDefaultClusterParameters` `disableSnapshotCopy` `enableSnapshotCopy` `modifyCluster` `modifyClusterSubnetGroup` `modifyEventSubscription` `modifySnapshotCopyRetentionPeriod` `purchaseReservedNodeOffering` `rebootCluster` `restoreFromClusterSnapshot` `revokeClusterSecurityGroupIngress` `revokeSnapshotAccess` `rotateEncryptionKey` | 

## Properti Klien yang Jatuh
<a name="upgrading-from-v1-dropped-client-properties"></a>

`.client`Properti `.Client` dan telah dihapus dari objek layanan. Jika Anda menggunakan `.Client` properti pada kelas layanan atau `.client` properti pada instance objek layanan, hapus properti ini dari kode Anda.

Kode berikut yang digunakan dengan SDK versi 1 untuk JavaScript:

```
var sts = new AWS.STS.Client();
// or
var sts = new AWS.STS();

sts.client.operation(...);
```

Harus diubah ke kode berikut.

```
var sts = new AWS.STS();
sts.operation(...)
```