Wir haben das Kommende end-of-support für AWS SDK for JavaScript v2 angekündigt
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
Dieses Node.js-Codebeispiel zeigt:
-
So rufen Sie eine Liste von 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 angegebenen Bucket hochzuladen. Diese Node.js-Module verwenden das -SDK für JavaScript , um Informationen aus einem Amazon S3-Bucket abzurufen und Dateien mit diesen Methoden der Amazon S3-Clientklasse in einen Amazon-S3-Bucket hochzuladen:
Erforderliche Aufgaben
Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:
-
Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der Node.js-Website
. -
Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei.
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'});
Anzeigen einer Liste von Amazon S3-Buckets
Erstellen Sie ein Node.js-Modul mit dem Dateinamen s3_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
Dieser Beispielcode finden Sie hier unter GitHub
Erstellen eines Amazon-S3-Buckets
Erstellen Sie ein Node.js-Modul mit dem Dateinamen s3_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 Rückruffunktion protokolliert den Speicherort 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
Dieser Beispielcode finden Sie hier unter GitHub
Hochladen einer Datei in einen Amazon S3-Bucket
Erstellen Sie ein Node.js-Modul mit dem Dateinamen s3_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 wird auf den Namen der ausgewählten Datei festgelegt. Diesen erhalten Sie mithilfe des Node.js path
-Moduls. Der Body
-Parameter wird auf den Inhalt der ausgewählten Datei festgelegt. Diesen erhalten Sie mithilfe von createReadStream
aus dem Node.js fs
-Modul.
// 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
Dieser Beispielcode finden Sie hier unter GitHub
Auflisten von Objekten in einem Amazon S3-Bucket
Erstellen Sie ein Node.js-Modul mit dem Dateinamen s3_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 zu lesenden Buckets. 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
Dieser Beispielcode finden Sie hier unter GitHub
Löschen eines Amazon S3-Buckets
Erstellen Sie ein Node.js-Modul mit dem Dateinamen s3_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 zu löschenden Buckets. 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
Dieser Beispielcode finden Sie hier unter GitHub