Membuat dan Menggunakan Bucket Amazon S3 - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

JavaScript code example that applies to Node.js execution

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

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:

Tugas Prasyarat

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

Mengkonfigurasi SDK

Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu menyetel Wilayah untuk kode Anda. Dalam contoh ini, Region diatur keus-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

Buat modul Node.js dengan nama files3_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. dataParameter 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.

Membuat sebuah Bucket Amazon S3

Buat modul Node.js dengan nama files3_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.

Mengunggah File ke Bucket Amazon S3

Buat modul Node.js dengan nama files3_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. KeyParameter diatur ke nama file yang dipilih, yang dapat Anda peroleh menggunakan path modul Node.js. BodyParameter 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.

Daftar Objek di Bucket Amazon S3

Buat modul Node.js dengan nama files3_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.

Menghapus Bucket Amazon S3

Buat modul Node.js dengan nama files3_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.