Creazione e utilizzo dei bucket di Amazon S3 - AWS SDK for JavaScript

Abbiamo annunciato l'imminente uscita end-of-support per la AWS SDK for JavaScript v2. Ti consigliamo di migrare alla AWS SDK for JavaScript v3. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio collegato.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione e utilizzo dei bucket di Amazon S3

JavaScript code example that applies to Node.js execution

Questo esempio di codice di Node.js illustra:

  • Come ottenere e visualizzare un elenco di bucket Amazon S3 nel tuo account.

  • Come creare un bucket Amazon S3.

  • Come caricare un oggetto in un bucket specifico.

Lo scenario

In questo esempio, una serie di moduli Node.js vengono utilizzati per ottenere un elenco di bucket Amazon S3 esistenti, creare un bucket e caricare un file in un bucket specificato. Questi moduli Node.js utilizzano l'SDK per JavaScript ottenere informazioni e caricare file su un bucket Amazon S3 utilizzando questi metodi della classe client Amazon S3:

Attività prerequisite

Per configurare ed eseguire questo esempio, è necessario completare queste attività:

Configurazione dell'SDK

Configura l'SDK per JavaScript creando un oggetto di configurazione globale, quindi impostando la regione per il codice. Nell'esempio, la regione è impostata su us-west-2.

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

Visualizzazione di un elenco di bucket Amazon S3

Crea un modulo Node.js con il nome del file s3_listbuckets.js. Assicurati di configurare l'SDK come mostrato in precedenza. Per accedere ad Amazon Simple Storage Service, crea un oggetto AWS.S3 di servizio. Chiama il listBuckets metodo dell'oggetto di servizio Amazon S3 per recuperare un elenco dei tuoi bucket. Il parametro data della funzione di callback dispone di una proprietà Buckets che contiene una vasta gamma di mappe per rappresentare i bucket. Visualizza l'elenco dei bucket eseguendo l'accesso alla console.

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

Digita la seguente riga di comando per eseguire l'esempio.

node s3_listbuckets.js

Questo codice di esempio può essere trovato qui. GitHub

Creazione di un bucket Amazon S3

Crea un modulo Node.js con il nome del file s3_createbucket.js. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizioAWS.S3. Il modulo richiede un singolo argomento della riga di comando per specificare un nome per il nuovo bucket.

Aggiungi una variabile per contenere i parametri utilizzati per chiamare il createBucket metodo dell'oggetto di servizio Amazon S3, incluso il nome del bucket appena creato. La funzione di callback registra la posizione del nuovo bucket nella console dopo che Amazon S3 lo ha creato correttamente.

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

Digita la seguente riga di comando per eseguire l'esempio.

node s3_createbucket.js BUCKET_NAME

Questo codice di esempio può essere trovato qui su. GitHub

Caricamento di un file in un bucket Amazon S3

Crea un modulo Node.js con il nome del file s3_upload.js. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizioAWS.S3. Il modulo richiederà due argomenti della riga di comando, il primo per specificare il bucket di destinazione e il secondo per specificare il file da caricare.

Crea una variabile con i parametri necessari per chiamare il upload metodo dell'oggetto del servizio Amazon S3. Fornisci il nome del bucket di destinazione nel parametro Bucket. Il parametro Key è impostato sul nome del file selezionato, che è possibile ottenere utilizzando il modulo di Node.js. path. Il parametro Body è impostato sui contenuti del file, che è possibile ottenere utilizzando createReadStream dal modulo di Node.js. fs.

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

Digita la seguente riga di comando per eseguire l'esempio.

node s3_upload.js BUCKET_NAME FILE_NAME

Questo codice di esempio può essere trovato qui su GitHub.

Elencare oggetti in un bucket Amazon S3

Crea un modulo Node.js con il nome del file s3_listobjects.js. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizioAWS.S3.

Aggiungi una variabile per contenere i parametri utilizzati per chiamare il listObjects metodo dell'oggetto del servizio Amazon S3, incluso il nome del bucket da leggere. La funzione di callback registra un elenco di oggetti (file) o un messaggio di errore.

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

Digita la seguente riga di comando per eseguire l'esempio.

node s3_listobjects.js

Questo codice di esempio può essere trovato qui su. GitHub

Eliminazione di un bucket Amazon S3

Crea un modulo Node.js con il nome del file s3_deletebucket.js. Assicurati di configurare l'SDK come mostrato in precedenza. Crea un oggetto di servizioAWS.S3.

Aggiungi una variabile per contenere i parametri utilizzati per chiamare il createBucket metodo dell'oggetto del servizio Amazon S3, incluso il nome del bucket da eliminare. Il bucket deve essere vuoto per essere eliminato. La funzione di callback registra un messaggio di successo o di errore.

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

Digita la seguente riga di comando per eseguire l'esempio.

node s3_deletebucket.js

Questo codice di esempio può essere trovato qui su. GitHub