Abbiamo annunciato
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
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à:
-
Installa Node.js. Per ulteriori informazioni sull'installazione di Node.js, consulta il sito Web Node.js
. -
Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta Caricamento delle credenziali su Node.js dal file delle credenziali condiviso.
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
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