Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan Node.js
Panduan ini menunjukkan cara menginisialisasi NPM paket, menambahkan klien layanan ke paket Anda, dan menggunakan tindakan JavaScript SDK untuk memanggil layanan.
Skenario
Buat NPM paket baru dengan satu file utama yang melakukan hal berikut:
Membuat bucket Amazon Simple Storage Service
Menempatkan objek di ember Amazon S3
Membaca objek di bucket Amazon S3
Mengonfirmasi jika pengguna ingin menghapus sumber daya
Prasyarat
Sebelum Anda dapat menjalankan contoh, Anda harus melakukan hal berikut:
-
Konfigurasikan SDK otentikasi Anda. Untuk informasi selengkapnya, lihat SDKotentikasi dengan AWS.
-
Instal Node.js
.
Langkah 1: Siapkan struktur paket dan instal paket klien
Untuk mengatur struktur paket dan menginstal paket klien:
Buat folder baru
nodegetstarted
untuk berisi paket.Dari baris perintah, navigasikan ke folder baru.
Jalankan perintah berikut untuk membuat
package.json
file default:npm init -y
Jalankan perintah berikut untuk menginstal paket klien Amazon S3:
npm i @aws-sdk/client-s3
-
Tambahkan
"type": "module"
kepackage.json
file. Ini memberitahu Node.js untuk menggunakan ESM sintaks modern. Finalpackage.json
akan terlihat mirip dengan yang berikut:{ "name": "example-javascriptv3-get-started-node", "version": "1.0.0", "description": "This guide shows you how to initialize an NPM package, add a service client to your package, and use the JavaScript SDK to call a service action.", "main": "index.js", "scripts": { "test": "vitest run **/*.unit.test.js" }, "author": "Your Name", "license": "Apache-2.0", "dependencies": { "@aws-sdk/client-s3": "^3.420.0" }, "type": "module" }
Langkah 2: Tambahkan impor dan SDK kode yang diperlukan
Tambahkan kode berikut ke file bernama index.js
dalam nodegetstarted
folder.
// This is used for getting user input. import { createInterface } from "node:readline/promises"; import { S3Client, PutObjectCommand, CreateBucketCommand, DeleteObjectCommand, DeleteBucketCommand, paginateListObjectsV2, GetObjectCommand, } from "@aws-sdk/client-s3"; export async function main() { // A region and credentials can be declared explicitly. For example // `new S3Client({ region: 'us-east-1', credentials: {...} })` would //initialize the client with those settings. However, the SDK will // use your local configuration and credentials if those properties // are not defined here. const s3Client = new S3Client({}); // Create an Amazon S3 bucket. The epoch timestamp is appended // to the name to make it unique. const bucketName = `test-bucket-${Date.now()}`; await s3Client.send( new CreateBucketCommand({ Bucket: bucketName, }), ); // Put an object into an Amazon S3 bucket. await s3Client.send( new PutObjectCommand({ Bucket: bucketName, Key: "my-first-object.txt", Body: "Hello JavaScript SDK!", }), ); // Read the object. const { Body } = await s3Client.send( new GetObjectCommand({ Bucket: bucketName, Key: "my-first-object.txt", }), ); console.log(await Body.transformToString()); // Confirm resource deletion. const prompt = createInterface({ input: process.stdin, output: process.stdout, }); const result = await prompt.question("Empty and delete bucket? (y/n) "); prompt.close(); if (result === "y") { // Create an async iterator over lists of objects in a bucket. const paginator = paginateListObjectsV2( { client: s3Client }, { Bucket: bucketName }, ); for await (const page of paginator) { const objects = page.Contents; if (objects) { // For every object in each page, delete it. for (const object of objects) { await s3Client.send( new DeleteObjectCommand({ Bucket: bucketName, Key: object.Key }), ); } } } // Once all the objects are gone, the bucket can be deleted. await s3Client.send(new DeleteBucketCommand({ Bucket: bucketName })); } } // Call a function if this file was run directly. This allows the file // to be runnable without running on import. import { fileURLToPath } from "node:url"; if (process.argv[1] === fileURLToPath(import.meta.url)) { main(); }
Kode contoh dapat ditemukan di sini GitHub
Langkah 3: Jalankan contoh
catatan
Ingatlah untuk masuk! Jika Anda menggunakan Pusat IAM Identitas untuk mengautentikasi, ingatlah untuk masuk menggunakan AWS CLI aws sso login
perintah.
Jalankan
node index.js
.Pilih apakah akan mengosongkan dan menghapus ember.
Jika Anda tidak menghapus ember, pastikan untuk mengosongkan dan menghapusnya secara manual nanti.