AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman 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
Contoh Node.js kode ini menunjukkan:
-
Cara mengonfigurasi izin berbagi sumber daya lintas asal (CORS) untuk bucket.
Skenario
Dalam contoh ini, serangkaian Node.js modul digunakan untuk membuat daftar bucket Amazon S3 Anda dan untuk mengonfigurasi CORS dan bucket logging. Node.js Modul menggunakan SDK untuk JavaScript mengonfigurasi bucket Amazon S3 yang dipilih menggunakan metode kelas klien Amazon S3 berikut:
Untuk informasi selengkapnya tentang menggunakan konfigurasi CORS dengan bucket Amazon S3, lihat Berbagi Sumber Cross-Origin Daya (CORS) di Panduan Pengguna Layanan Peny impanan Sederhana Amazon.
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:
-
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. -
Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Mengkonfigurasi SDK
Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu mengatur Wilayah untuk kode Anda. Dalam contoh ini, Wilayah diatur keus-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
Buat Node.js modul dengan nama files3_getcors.js. Modul akan mengambil satu argumen baris perintah untuk menentukan bucket yang konfigurasi CORS-nya Anda inginkan. Pastikan untuk mengkonfigurasi 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 CORSRules properti data parameter yang diteruskan ke fungsi callback.
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.jsBUCKET_NAME
Kode sampel ini dapat ditemukan di sini GitHub
Mengatur Konfigurasi Bucket CORS
Buat Node.js modul dengan nama files3_setcors.js. Modul ini mengambil beberapa argumen baris perintah, yang pertama menentukan bucket yang konfigurasi CORS-nya 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 menyimpan nilai-nilai untuk konfigurasi CORS seperti yang dipersyaratkan oleh putBucketCors metode objek AWS.S3 layanan. Tentukan "Authorization" untuk AllowedHeaders nilai dan "*" untuk nil AllowedOrigins ainya. Atur nilai AllowedMethods sebagai array kosong pada awalnya.
Tentukan metode yang diizinkan sebagai parameter baris perintah ke Node.js modul, menambahkan masing-masing metode yang cocok dengan salah satu parameter. Tambahkan konfigurasi CORS yang dihasilkan ke array konfigurasi yang terkandung dalam CORSRules parameter. Tentukan bucket yang ingin Anda konfigurasi 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 pada baris perintah termasuk satu atau lebih metode HTTP seperti yang ditunjukkan.
node s3_setcors.jsBUCKET_NAMEget put
Kode sampel ini dapat ditemukan di sini GitHub