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à.
Nozioni di base su Node.js
Questo esempio di codice di Node.js illustra:
Come creare il manifest
package.json
per il progetto.Come installare e includere i moduli utilizzati dal progetto.
Come creare un oggetto di servizio Amazon Simple Storage Service (Amazon S3) dalla
AWS.S3
classe client.Come creare un bucket Amazon S3 e caricare un oggetto in quel bucket.
Lo scenario
L'esempio mostra come configurare ed eseguire un semplice modulo Node.js che crea un bucket Amazon S3, quindi vi aggiunge un oggetto di testo.
Poiché i nomi dei bucket in Amazon S3 devono essere univoci a livello globale, questo esempio include un modulo Node.js di terze parti che genera un valore ID univoco che puoi incorporare nel nome del bucket. Questo modulo aggiuntivo è denominato uuid
.
Attività prerequisite
Per configurare ed eseguire questo esempio, è necessario completare queste attività:
Creazione di una directory di lavoro per sviluppare il modulo Node.js. Denomina questa directory
awsnodesample
. La directory deve essere creata in una posizione in cui le applicazioni possano aggiornarla. In Windows, ad esempio, la directory non va creata in "C:\Program Files".Installa Node.js. Per ulteriori informazioni, consultare il sito Web di Node.js
. Puoi trovare i download dell'attuale versione e delle versioni LTS di Node.js per un'ampia gamma di sistemi operativi all'indirizzo https://nodejs.org/en/download/current/ .
Indice
Fase 1: Installare l'SDK e le dipendenze
Si installa l'SDK per il JavaScript pacchetto utilizzando npm (il gestore di pacchetti Node.js
Dalla directory awsnodesample
nel pacchetto, digitare quanto segue nella riga di comando.
npm install aws-sdk
Questo comando installa l'SDK for JavaScript nel progetto e lo aggiorna per package.json
elencare l'SDK come dipendenza del progetto. Per trovare informazioni su questo pacchetto, cercare "aws-sdk" nel sito Web npm
Quindi, installare il modulo uuid
per il progetto digitando quanto segue nella riga di comando, che installa il modulo e aggiorna package.json
. Per ulteriori informazioni su uuid
, consulta la pagina relativa al modulo all'indirizzo https://www.npmjs.com/package/uuid
npm install uuid
Questi pacchetti e il relativo codice vengono installati nella sottodirectory node_modules
del progetto.
Per ulteriori informazioni sull'installazione dei pacchetti Node.js, consulta la sezione su come scaricare e installare i pacchetti in locale
Fase 2: Configurazione delle credenziali
Devi fornire le credenziali AWS in modo che l'SDK acceda solo al tuo account e alle relative risorse. Per ulteriori informazioni su come ottenere le credenziali dell'account, consulta Autenticazione SDK con AWS.
Per conservare queste informazioni, consigliamo di creare un file di credenziali condiviso. Per scoprire come, consulta Caricamento delle credenziali su Node.js dal file delle credenziali condiviso. I file delle credenziali devono essere simili al seguente esempio.
[default] aws_access_key_id =
YOUR_ACCESS_KEY_ID
aws_secret_access_key =YOUR_SECRET_ACCESS_KEY
È possibile determinare se le credenziali sono state impostate correttamente eseguendo il codice seguente con Node.js:
var AWS = require("aws-sdk"); AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } });
Analogamente, se la regione è stata impostata correttamente nel config
file, è possibile visualizzare tale valore impostando la variabile di AWS_SDK_LOAD_CONFIG
ambiente su qualsiasi valore e utilizzando il codice seguente:
var AWS = require("aws-sdk"); console.log("Region: ", AWS.config.region);
Fase 3: Creare il Package JSON per il progetto
Una volta creata la directory del progetto awsnodesample
, è necessario creare e aggiungere un file package.json
per memorizzare i metadati per il progetto Node.js. Per i dettagli sull'utilizzo package.json
in un progetto Node.js, consulta Creazione di un file package.json
Nella directory del progetto, creare un nuovo file denominato package.json
. Aggiungere il JSON al file.
{ "dependencies": {}, "name": "aws-nodejs-sample", "description": "A simple Node.js application illustrating usage of the SDK for JavaScript.", "version": "1.0.1", "main": "sample.js", "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "
NAME
", "license": "ISC
" }
Salvare il file. Dopo aver installato i moduli necessari, la porzione dependencies
del file sarà completata. Puoi trovare un file JSON che mostra un esempio di queste dipendenze qui. GitHub
Fase 4: scrivere il codice Node.js
Creare un nuovo file denominato sample.js
che contiene il codice di esempio. Inizia aggiungendo le chiamate di require
funzione per includere l'SDK JavaScript e uuid
i moduli in modo che siano disponibili all'uso.
Crea un nome di bucket univoco da utilizzare per creare un bucket Amazon S3 aggiungendo un valore ID univoco a un prefisso riconoscibile, in questo caso. 'node-sdk-sample-'
È possibile generare l'ID univoco chiamando il modulo uuid
. Quindi creare un nome per il parametro Key
utilizzato per caricare un oggetto sul bucket.
Creare un oggetto promise
per chiamare il metodo createBucket
dell'oggetto di servizio AWS.S3
. Come risposta in caso di esito positivo, creare i parametri necessari per caricare il testo sul nuovo bucket. Utilizzando un'altra promessa, chiamare il metodo putObject
per caricare l'oggetto di testo sul bucket.
// Load the SDK and UUID var AWS = require("aws-sdk"); var uuid = require("uuid"); // Create unique bucket name var bucketName = "node-sdk-sample-" + uuid.v4(); // Create name for uploaded object key var keyName = "hello_world.txt"; // Create a promise on S3 service object var bucketPromise = new AWS.S3({ apiVersion: "2006-03-01" }) .createBucket({ Bucket: bucketName }) .promise(); // Handle promise fulfilled/rejected states bucketPromise .then(function (data) { // Create params for putObject call var objectParams = { Bucket: bucketName, Key: keyName, Body: "Hello World!", }; // Create object upload promise var uploadPromise = new AWS.S3({ apiVersion: "2006-03-01" }) .putObject(objectParams) .promise(); uploadPromise.then(function (data) { console.log( "Successfully uploaded data to " + bucketName + "/" + keyName ); }); }) .catch(function (err) { console.error(err, err.stack); });
Questo codice di esempio può essere trovato qui. GitHub
Fase 5: eseguire l'esempio
Digitare il comando seguente per eseguire l'esempio.
node sample.js
Se il caricamento viene completato correttamente, appare un messaggio di conferma nella riga di comando. È inoltre possibile trovare il bucket e l'oggetto di testo caricato nella console Amazon S3