Kami mengumumkan
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
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:
-
Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat situs web Node.js
. -
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
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. 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
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. 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
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