

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation Node.js pour se connecter à une instance de base de données Neptune
<a name="access-graph-gremlin-node-js"></a>

**Important**  
Le choix de la bonne version du pilote TinkerPop Apache G705 est essentiel pour garantir la compatibilité avec la version de votre moteur Neptune. L'utilisation d'une version incompatible peut entraîner des échecs de connexion ou un comportement inattendu. Pour obtenir des informations détaillées sur la compatibilité des versions, consultez[Accès au graphe Neptune avec Gremlin](access-graph-gremlin.md).

La section suivante explique comment exécuter un Node.js exemple qui se connecte à une instance de base de données Amazon Neptune et effectue une traversée Gkremlin.

Vous devez suivre ces instructions à partir d'une instance Amazon EC2 dans le même cloud privé virtuel (VPC) (VPC) que l'instance de base de données Neptune.

Avant de commencer, vous devez exécuter les actions suivantes :
+ Vérifiez que Node.js la version 8.11 ou supérieure est installée. Si ce n'est pas le cas, téléchargez-le et installez-le Node.js depuis le [Nodejs.org site Web](https://nodejs.org).

**Pour vous connecter à Neptune à l'aide de Node.js**

1. Entrez ce qui suit pour installer le package `gremlin-javascript` :

   ```
   npm install gremlin
   ```

1. Créez un fichier nommé `gremlinexample.js` et ouvrez-le dans un éditeur de texte.

1. Copiez ce qui suit dans le fichier `gremlinexample.js`. Remplacez {{your-neptune-endpoint}} par l'adresse de votre instance de base de données Neptune.

   Consultez la section [Connexion aux points de terminaison Amazon Neptune](feature-overview-endpoints.md) pour découvrir comment trouver l'adresse de votre instance de base de données Neptune.

   ```
   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. Pour exécuter l'exemple, entrez la commande suivante :

   ```
   node gremlinexample.js
   ```

L'exemple précédent renvoie le nombre d'un seul sommet dans le graphique en utilisant la traversée `g.V().limit(1).count().next()`. Pour interroger quelque chose d'autre, remplacez la traversée par une autre traversée Gremlin avec l'une des méthodes de fin appropriées.

**Note**  
La partie finale de la requête Gremlin, `next()`, est obligatoire pour soumettre la traversée au serveur à des fins d'évaluation. Si vous n'incluez pas cette méthode ou une autre méthode équivalente, la requête ne sera pas soumise à l'instance de base de données Neptune.

Voici des exemples de méthodes qui soumettent la requête à l'instance de base de données Neptune :
+ `toList()`
+ `toSet()`
+ `next()`
+ `iterate()`

Ces étapes du terminal se comportent différemment en mode script et en mode bytecode. Pour la liste canonique des étapes du terminal et des détails sur la manière dont elles affectent les transactions, voir[Testez le code Gremlin dans le contexte dans lequel vous allez le déployer](best-practices-gremlin-console-glv-differences.md).

`iterate()`À utiliser lorsque vous n'avez pas besoin des résultats de vos requêtes (par exemple des mutations) car cela permet de réduire les coûts de sérialisation.

**Important**  
Il s'agit d'un Node.js exemple autonome. Si vous envisagez d'exécuter un code de ce type dans une AWS Lambda fonction, consultez [Exemples de fonctions Lambda](lambda-functions-examples.md) pour plus de détails sur l'utilisation JavaScript efficace dans une fonction Neptune Lambda.

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

Neptune prend en charge l'[authentification IAM](iam-auth-enable.md) pour contrôler l'accès à votre cluster de base de données. Si l'authentification IAM est activée, vous devez utiliser la signature Signature version 4 pour authentifier vos demandes. Pour obtenir des instructions détaillées et des exemples de code pour la connexion depuis un JavaScript client, consultez[Connexion aux bases de données Amazon Neptune à l'aide de l'authentification IAM avec Gremlin JavaScript](gremlin-javascript-iam-auth.md).