Nozioni di base su Node.js - 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à.

Nozioni di base su Node.js

JavaScript code example that applies to Node.js execution

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/.

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 e su come creare moduli Node.js nel sito Web npm (Node.js package manager). Per ulteriori informazioni sul download e sull'installazione di AWS SDK for JavaScript, consulta Installazione dell'SDK per JavaScript.

Passaggio 2: configura le tue 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

Puoi determinare se hai impostato correttamente le credenziali eseguendo il codice seguente con node:

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 hai impostato correttamente la regione nel file config, puoi visualizzare il valore impostando la variabile di ambiente AWS_SDK_LOAD_CONFIG su un valore truthy e utilizzando il seguente codice:

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.