

 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.

# Mengkonfigurasi Bucket Amazon S3
<a name="s3-example-configuring-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 mengonfigurasi izin berbagi sumber daya lintas asal (CORS) untuk bucket.

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

Dalam contoh ini, serangkaian modul Node.js digunakan untuk mencantumkan bucket Amazon S3 Anda dan untuk mengonfigurasi CORS dan pencatatan bucket. Modul Node.js menggunakan SDK JavaScript untuk mengonfigurasi bucket Amazon S3 yang dipilih menggunakan metode kelas klien Amazon S3 berikut:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketCors-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getBucketCors-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketCors-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketCors-property)

Untuk informasi selengkapnya tentang penggunaan konfigurasi CORS dengan bucket Amazon S3, [lihat Cross-Origin Resource Sharing (CORS) di Panduan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) Pengguna Layanan Penyimpanan *Sederhana Amazon*.

## Tugas Prasyarat
<a name="s3-example-configuring-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-configuring-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'});
```

## Mengambil Konfigurasi Bucket CORS
<a name="s3-example-configuring-buckets-get-cors"></a>

Buat modul Node.js dengan nama file`s3_getcors.js`. Modul akan mengambil satu argumen baris perintah untuk menentukan bucket yang konfigurasi CORS-nya Anda inginkan. Pastikan untuk mengonfigurasi SDK seperti yang ditunjukkan sebelumnya. Buat objek `AWS.S3` layanan. 

Satu-satunya parameter yang perlu Anda lewati adalah nama bucket yang dipilih saat memanggil `getBucketCors` metode. Jika bucket saat ini memiliki konfigurasi CORS, konfigurasi tersebut dikembalikan oleh Amazon S3 sebagai properti parameter `CORSRules` yang diteruskan ke fungsi callback. `data`

Jika bucket yang dipilih tidak memiliki konfigurasi CORS, informasi tersebut dikembalikan ke fungsi callback dalam parameter. `error`

```
// 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" });

// Set the parameters for S3.getBucketCors
var bucketParams = { Bucket: process.argv[2] };

// call S3 to retrieve CORS configuration for selected bucket
s3.getBucketCors(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else if (data) {
    console.log("Success", JSON.stringify(data.CORSRules));
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node s3_getcors.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_getcors.js).

## Menyetel Konfigurasi Bucket CORS
<a name="s3-example-configuring-buckets-put-cors"></a>

Buat modul Node.js dengan nama file`s3_setcors.js`. Modul ini mengambil beberapa argumen baris perintah, yang pertama menentukan bucket yang konfigurasi CORS yang ingin Anda atur. Argumen tambahan menyebutkan metode HTTP (POST, GET, PUT, PATCH, DELETE, POST) yang ingin Anda izinkan untuk bucket. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

 Buat objek `AWS.S3` layanan. Selanjutnya buat objek JSON untuk menahan nilai untuk konfigurasi CORS seperti yang dipersyaratkan oleh `putBucketCors` metode objek `AWS.S3` layanan. `"Authorization"`Tentukan `AllowedHeaders` nilai dan `"*"` `AllowedOrigins` nilainya. Tetapkan nilai `AllowedMethods` sebagai array kosong pada awalnya.

Tentukan metode yang diizinkan sebagai parameter baris perintah ke modul Node.js, tambahkan masing-masing metode yang cocok dengan salah satu parameter. Tambahkan konfigurasi CORS yang dihasilkan ke array konfigurasi yang terdapat dalam parameter. `CORSRules` Tentukan bucket yang ingin Anda konfigurasikan untuk CORS dalam `Bucket` parameter.

```
// 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 initial parameters JSON for putBucketCors
var thisConfig = {
  AllowedHeaders: ["Authorization"],
  AllowedMethods: [],
  AllowedOrigins: ["*"],
  ExposeHeaders: [],
  MaxAgeSeconds: 3000,
};

// Assemble the list of allowed methods based on command line parameters
var allowedMethods = [];
process.argv.forEach(function (val, index, array) {
  if (val.toUpperCase() === "POST") {
    allowedMethods.push("POST");
  }
  if (val.toUpperCase() === "GET") {
    allowedMethods.push("GET");
  }
  if (val.toUpperCase() === "PUT") {
    allowedMethods.push("PUT");
  }
  if (val.toUpperCase() === "PATCH") {
    allowedMethods.push("PATCH");
  }
  if (val.toUpperCase() === "DELETE") {
    allowedMethods.push("DELETE");
  }
  if (val.toUpperCase() === "HEAD") {
    allowedMethods.push("HEAD");
  }
});

// Copy the array of allowed methods into the config object
thisConfig.AllowedMethods = allowedMethods;
// Create array of configs then add the config object to it
var corsRules = new Array(thisConfig);

// Create CORS params
var corsParams = {
  Bucket: process.argv[2],
  CORSConfiguration: { CORSRules: corsRules },
};

// set the new CORS configuration on the selected bucket
s3.putBucketCors(corsParams, function (err, data) {
  if (err) {
    // display error message
    console.log("Error", err);
  } else {
    // update the displayed CORS config for the selected bucket
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah termasuk satu atau lebih metode HTTP seperti yang ditunjukkan.

```
node s3_setcors.js BUCKET_NAME get put
```

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