

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

# Utilizzo Node.js per connettersi a un'istanza DB di Neptune
<a name="access-graph-gremlin-node-js"></a>

**Importante**  
La scelta della versione corretta del driver Apache TinkerPop Gremlin è fondamentale per la compatibilità con la versione del motore Neptune in uso. L'utilizzo di una versione incompatibile può causare errori di connessione o comportamenti imprevisti. Per informazioni dettagliate sulla compatibilità delle versioni, vedere. [Accesso al grafo Neptune con Gremlin](access-graph-gremlin.md)

La sezione seguente illustra l'esecuzione di un Node.js esempio che si connette a un'istanza DB di Amazon Neptune ed esegue un attraversamento di Gremlin.

Segui queste istruzioni da un'istanza Amazon EC2 nello stesso cloud privato virtuale (VPC) dell'istanza database Neptune.

Prima di iniziare, esegui queste attività:
+ Verifica che sia installata la Node.js versione 8.11 o successiva. In caso contrario, scaricalo e installalo Node.js dal [Nodejs.org sito Web](https://nodejs.org).

**Per connettersi a Neptune utilizzando Node.js**

1. Installare il pacchetto `gremlin-javascript` immettendo quanto segue:

   ```
   npm install gremlin
   ```

1. Creare un file denominato `gremlinexample.js` e aprirlo in un editor di testo.

1. Copiare quanto segue nel file `gremlinexample.js`. Sostituisci {{your-neptune-endpoint}} con l'indirizzo della tua istanza DB Neptune.

   Per informazioni su come trovare l'indirizzo dell'istanza database Neptune, consulta la sezione [Connessione agli endpoint Amazon Neptune](feature-overview-endpoints.md).

   ```
   const gremlin = require('gremlin');
   const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
   const Graph = gremlin.structure.Graph;
   
   dc = new DriverRemoteConnection('wss://{{your-neptune-endpoint}}:8182/gremlin',{});
   
   const graph = new Graph();
   const g = graph.traversal().withRemote(dc);
   
   g.V().limit(1).count().next().
       then(data => {
           console.log(data);
           dc.close();
       }).catch(error => {
           console.log('ERROR', error);
           dc.close();
       });
   ```

1. Immettere il comando seguente per eseguire l'esempio:

   ```
   node gremlinexample.js
   ```

L'esempio precedente restituisce il conteggio di un singolo vertice nel grafo utilizzando l'attraversamento `g.V().limit(1).count().next()`. Per eseguire query per qualcos'altro, sostituirla con un altro attraversamento Gremlin con uno dei metodi finali appropriati.

**Nota**  
La parte finale della query Gremlin, `next()` è obbligatoria per inviare l'attraversamento al server per la valutazione. Se non includi quel metodo o un altro metodo equivalente, la query non viene inviata all'istanza database Neptune.

Di seguito sono riportati alcuni esempi di metodi che inviano la query all'istanza DB Neptune:
+ `toList()`
+ `toSet()`
+ `next()`
+ `iterate()`

Questi passaggi terminali si comportano in modo diverso in modalità script e in modalità bytecode. Per l'elenco canonico dei passaggi del terminale e i dettagli su come influiscono sulle transazioni, vedere. [Test del codice Gremlin nel contesto in cui verrà implementato](best-practices-gremlin-console-glv-differences.md)

Utilizzalo `iterate()` quando non hai bisogno dei risultati delle tue query (ad esempio le mutazioni) in quanto consente di risparmiare sui costi di serializzazione.

**Importante**  
Questo è un esempio a sé stante. Node.js Se hai intenzione di eseguire codice come questo in una AWS Lambda funzione, consulta [Esempi di funzione Lambda](lambda-functions-examples.md) per i dettagli sull'utilizzo JavaScript efficiente in una funzione Neptune Lambda.

## Autenticazione IAM
<a name="access-graph-gremlin-nodejs-iam"></a>

Neptune [supporta l'autenticazione IAM](iam-auth-enable.md) per controllare l'accesso al cluster DB. Se hai abilitato l'autenticazione IAM, devi utilizzare la firma Signature Version 4 per autenticare le tue richieste. Per istruzioni dettagliate ed esempi di codice per la connessione da un JavaScript client, consulta[Connessione ai database Amazon Neptune utilizzando l'autenticazione IAM con Gremlin JavaScript](gremlin-javascript-iam-auth.md).