Das AWS SDK for JavaScript V3-API-Referenzhandbuch beschreibt detailliert alle API-Operationen für die AWS SDK for JavaScript Version 3 (V3).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beginnen Sie mit Node.js

Diese Anleitung zeigt Ihnen, wie Sie ein NPM-Paket initialisieren, Ihrem Paket einen Service-Client hinzufügen und das JavaScript SDK verwenden, um eine Serviceaktion aufzurufen.

Das Szenario

Erstellen Sie ein neues NPM-Paket mit einer Hauptdatei, die Folgendes tut:
  • Erstellt einen Amazon Simple Storage Service-Bucket

  • Fügt ein Objekt in den Amazon S3 S3-Bucket

  • Liest das Objekt im Amazon S3 S3-Bucket

  • Bestätigt, ob der Benutzer Ressourcen löschen möchte

Voraussetzungen

Bevor Sie das Beispiel ausführen können, müssen Sie Folgendes tun:

Schritt 1: Richten Sie die Paketstruktur ein und installieren Sie die Client-Pakete

So richten Sie die Paketstruktur ein und installieren die Client-Pakete:

  1. Erstellen Sie einen neuen Ordnernodegetstarted, der das Paket enthalten soll.

  2. Navigieren Sie von der Befehlszeile aus zu dem neuen Ordner.

  3. Führen Sie den folgenden Befehl aus, um eine package.json Standarddatei zu erstellen:

    npm init -y
  4. Führen Sie den folgenden Befehl aus, um das Amazon S3 S3-Client-Paket zu installieren:

    npm i @aws-sdk/client-s3
  5. "type": "module"Zur package.json Datei hinzufügen. Dadurch wird Node.js angewiesen, die moderne ESM-Syntax zu verwenden. Das Finale package.json sollte in etwa wie folgt aussehen:

    { "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" }

Schritt 2: Fügen Sie die erforderlichen Importe und den SDK-Code hinzu

Fügen Sie den folgenden Code zu einer Datei hinzu, die index.js im nodegetstarted Ordner benannt ist.

// This is used for getting user input. import { createInterface } from "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 "url"; if (process.argv[1] === fileURLToPath(import.meta.url)) { main(); }

Den Beispielcode finden Sie hier auf GitHub.

Schritt 3: Führen Sie das Beispiel aus

Anmerkung

Denken Sie daran, sich anzumelden! Wenn Sie IAM Identity Center zur Authentifizierung verwenden, denken Sie daran, sich mit dem AWS CLI aws sso login folgenden Befehl anzumelden.

  1. Führen Sie node index.js.

  2. Wählen Sie aus, ob der Bucket geleert und gelöscht werden soll.

  3. Wenn Sie den Bucket nicht löschen, stellen Sie sicher, dass Sie ihn manuell leeren und später löschen.