

 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.

# Membuat dan Menggunakan Bucket Amazon S3
<a name="s3-example-creating-buckets"></a>

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

**Contoh kode Node.js ini menunjukkan:**
+ Cara mendapatkan dan menampilkan daftar bucket Amazon S3 di akun Anda.
+ Cara membuat bucket Amazon S3.
+ Cara mengunggah objek ke ember tertentu.

## Skenario
<a name="s3-example-creating-buckets-scenario"></a>

Dalam contoh ini, serangkaian modul Node.js digunakan untuk mendapatkan daftar bucket Amazon S3 yang ada, membuat bucket, dan mengunggah file ke bucket tertentu. Modul Node.js ini menggunakan SDK JavaScript untuk mendapatkan informasi dari dan mengunggah file ke bucket Amazon S3 menggunakan metode kelas klien Amazon S3 berikut:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listBuckets-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listBuckets-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createBucket-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createBucket-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucket-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucket-property)

## Tugas Prasyarat
<a name="s3-example-creating-buckets-prerequisites"></a>

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:
+ Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat [situs web Node.js](https://nodejs.org).
+ Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. [Memuat Kredensial di Node.js dari File Kredensial Bersama](loading-node-credentials-shared.md)

## Mengkonfigurasi SDK
<a name="s3-example-creating-buckets-configure-sdk"></a>

Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu menyetel Wilayah untuk kode Anda. Dalam contoh ini, Region diatur ke`us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Menampilkan Daftar Bucket Amazon S3
<a name="s3-example-creating-buckets-list-buckets"></a>

Buat modul Node.js dengan nama file`s3_listbuckets.js`. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses Amazon Simple Storage Service, buat objek `AWS.S3` layanan. Panggil `listBuckets` metode objek layanan Amazon S3 untuk mengambil daftar bucket Anda. `data`Parameter fungsi callback memiliki `Buckets` properti yang berisi array peta untuk mewakili bucket. Tampilkan daftar ember dengan masuk ke konsol.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Call S3 to list the buckets
s3.listBuckets(function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Buckets);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_listbuckets.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_listbuckets.js).

## Membuat sebuah Bucket Amazon S3
<a name="s3-example-creating-buckets-new-bucket"></a>

Buat modul Node.js dengan nama file`s3_createbucket.js`. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Buat objek `AWS.S3` layanan. Modul akan mengambil satu argumen baris perintah untuk menentukan nama bucket baru.

Tambahkan variabel untuk menahan parameter yang digunakan untuk memanggil `createBucket` metode objek layanan Amazon S3, termasuk nama untuk bucket yang baru dibuat. Fungsi callback mencatat lokasi bucket baru ke konsol setelah Amazon S3 berhasil membuatnya.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create the parameters for calling createBucket
var bucketParams = {
  Bucket: process.argv[2],
};

// call S3 to create the bucket
s3.createBucket(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Location);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_createbucket.js BUCKET_NAME
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_createbucket.js).

## Mengunggah File ke Bucket Amazon S3
<a name="s3-example-creating-buckets-upload-file"></a>

Buat modul Node.js dengan nama file`s3_upload.js`. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Buat objek `AWS.S3` layanan. Modul akan mengambil dua argumen baris perintah, yang pertama untuk menentukan bucket tujuan dan yang kedua untuk menentukan file yang akan diunggah.

Buat variabel dengan parameter yang diperlukan untuk memanggil `upload` metode objek layanan Amazon S3. Berikan nama bucket target dalam `Bucket` parameter. `Key`Parameter diatur ke nama file yang dipilih, yang dapat Anda peroleh menggunakan `path` modul Node.js. `Body`Parameter diatur ke isi file, yang dapat Anda peroleh menggunakan `createReadStream` dari `fs` modul Node.js.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
var s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// call S3 to retrieve upload file to specified bucket
var uploadParams = { Bucket: process.argv[2], Key: "", Body: "" };
var file = process.argv[3];

// Configure the file stream and obtain the upload parameters
var fs = require("fs");
var fileStream = fs.createReadStream(file);
fileStream.on("error", function (err) {
  console.log("File Error", err);
});
uploadParams.Body = fileStream;
var path = require("path");
uploadParams.Key = path.basename(file);

// call S3 to retrieve upload file to specified bucket
s3.upload(uploadParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  }
  if (data) {
    console.log("Upload Success", data.Location);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_upload.js BUCKET_NAME FILE_NAME
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_upload.js).

## Daftar Objek di Bucket Amazon S3
<a name="s3-example-listing-objects"></a>

Buat modul Node.js dengan nama file`s3_listobjects.js`. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Buat objek `AWS.S3` layanan. 

Tambahkan variabel untuk menahan parameter yang digunakan untuk memanggil `listObjects` metode objek layanan Amazon S3, termasuk nama bucket yang akan dibaca. Fungsi callback mencatat daftar objek (file) atau pesan kegagalan.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create the parameters for calling listObjects
var bucketParams = {
  Bucket: "BUCKET_NAME",
};

// Call S3 to obtain a list of the objects in the bucket
s3.listObjects(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_listobjects.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_listobjects.js).

## Menghapus Bucket Amazon S3
<a name="s3-example-deleting-buckets"></a>

Buat modul Node.js dengan nama file`s3_deletebucket.js`. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Buat objek `AWS.S3` layanan. 

Tambahkan variabel untuk menahan parameter yang digunakan untuk memanggil `createBucket` metode objek layanan Amazon S3, termasuk nama bucket yang akan dihapus. Ember harus kosong untuk menghapusnya. Fungsi callback mencatat pesan sukses atau kegagalan.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create params for S3.deleteBucket
var bucketParams = {
  Bucket: "BUCKET_NAME",
};

// Call S3 to delete the bucket
s3.deleteBucket(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_deletebucket.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_deletebucket.js).