View a markdown version of this page

Erstellen und Verwenden eines Amazon S3-Buckets - AWS SDK für JavaScript

Die AWS SDK für JavaScript Version 2 hat das Ende des Supports erreicht. Wir empfehlen Ihnen, auf Version 3 zu AWS SDK für JavaScript migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser Ankündigung.

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.

Erstellen und Verwenden eines Amazon S3-Buckets

JavaScript code example that applies to Node.js execution

Dieses Node.js Codebeispiel zeigt:

  • So rufen Sie eine Liste der Amazon S3-Buckets in Ihrem Konto ab und zeigen sie an.

  • So erstellen Sie einen Amazon S3-Bucket:

  • das Hochladen eines Objekts in einen bestimmten Bucket.

Das Szenario

In diesem Beispiel wird eine Reihe von Node.js Modulen verwendet, um eine Liste der vorhandenen Amazon S3-Buckets abzurufen, einen Bucket zu erstellen und eine Datei in einen bestimmten Bucket hochzuladen. Diese Node.js Module verwenden das SDK, JavaScript um mithilfe der folgenden Methoden der Amazon S3-Client-Klasse Informationen aus einem Amazon S3-Bucket abzurufen und Dateien in einen Amazon S3-Bucket hochzuladen:

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:

Konfigurieren des SDKs

Konfigurieren Sie das SDK für, JavaScript indem Sie ein globales Konfigurationsobjekt erstellen und dann die Region für Ihren Code festlegen. In diesem Beispiel ist die Region auf us-west-2 festgelegt.

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

Anzeige einer Liste von Amazon S3-Buckets

Erstellen Sie ein Node.js Modul mit dem Dateinamens3_listbuckets.js. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. Um auf Amazon Simple Storage Service zuzugreifen, erstellen Sie ein AWS.S3 Serviceobjekt. Rufen Sie die listBuckets Methode des Amazon S3-Serviceobjekts auf, um eine Liste Ihrer Buckets abzurufen. Der data-Parameter der Callback-Funktion verfügt über eine Buckets-Eigenschaft, die ein Array von Zuordnungen zur Darstellung der Buckets enthält. Zeigen Sie die Bucket-Liste an, indem Sie sie in der Konsole protokollieren.

// 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); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node s3_listbuckets.js

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen eines Amazon-S3-Buckets

Erstellen Sie ein Node.js Modul mit dem Dateinamens3_createbucket.js. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. Erstellen Sie ein AWS.S3-Serviceobjekt. Das Modul ruft ein einzelnes Befehlszeilen-Argument ab, um einen Namen für den neuen Bucket anzugeben.

Fügen Sie eine Variable hinzu, die die Parameter enthält, die zum Aufrufen der createBucket Methode des Amazon S3-Serviceobjekts verwendet werden, einschließlich des Namens für den neu erstellten Bucket. Die Callback-Funktion protokolliert den Standort des neuen Buckets in der Konsole, nachdem Amazon S3 ihn erfolgreich erstellt hat.

// 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); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node s3_createbucket.js BUCKET_NAME

Diesen Beispielcode finden Sie hier auf GitHub.

Eine Datei in einen Amazon S3-Bucket hochladen

Erstellen Sie ein Node.js Modul mit dem Dateinamens3_upload.js. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. Erstellen Sie ein AWS.S3-Serviceobjekt. Das Modul umfasst zwei Befehlszeilenargumente, das erste gibt den Ziel-Bucket und das zweite die Datei an, die hochgeladen werden soll.

Erstellen Sie eine Variable mit den Parametern, die zum Aufrufen der upload Methode des Amazon S3-Serviceobjekts erforderlich sind. Geben Sie den Namen des Ziel-Buckets im Bucket-Parameter an. Der Key Parameter ist auf den Namen der ausgewählten Datei gesetzt, die Sie mit dem Node.js path Modul abrufen können. Der Body Parameter ist auf den Inhalt der Datei gesetzt, den Sie mithilfe createReadStream des Node.js fs Moduls abrufen können.

// 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); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node s3_upload.js BUCKET_NAME FILE_NAME

Diesen Beispielcode finden Sie hier auf GitHub.

Objekte in einem Amazon S3-Bucket auflisten

Erstellen Sie ein Node.js Modul mit dem Dateinamens3_listobjects.js. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. Erstellen Sie ein AWS.S3-Serviceobjekt.

Fügen Sie eine Variable hinzu, die die Parameter enthält, die zum Aufrufen der listObjects Methode des Amazon S3-Serviceobjekts verwendet werden, einschließlich des Namens des Buckets, der gelesen werden soll. Die Callback-Funktion protokolliert eine Liste mit Objekten (Dateien) oder eine Fehlermeldung.

// 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); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node s3_listobjects.js

Diesen Beispielcode finden Sie hier auf GitHub.

Löschen eines Amazon S3-Buckets

Erstellen Sie ein Node.js Modul mit dem Dateinamens3_deletebucket.js. Stellen Sie sicher, dass Sie das SDK wie zuvor dargestellt konfigurieren. Erstellen Sie ein AWS.S3-Serviceobjekt.

Fügen Sie eine Variable hinzu, die die Parameter enthält, die zum Aufrufen der createBucket Methode des Amazon S3-Serviceobjekts verwendet werden, einschließlich des Namens des Buckets, der gelöscht werden soll. Der Bucket muss leer sein, damit er gelöscht werden kann. Die Callback-Funktion protokolliert eine Erfolgs- oder Fehlermeldung.

// 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); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node s3_deletebucket.js

Diesen Beispielcode finden Sie hier auf GitHub.