

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando Node.js para se conectar a uma instância de banco de dados Neptune
<a name="access-graph-gremlin-node-js"></a>

**Importante**  
Escolher a versão correta do driver Apache TinkerPop Gremlin é fundamental para a compatibilidade com a versão do motor Neptune. Usar uma versão incompatível pode resultar em falhas de conexão ou comportamento inesperado. Para obter informações detalhadas sobre compatibilidade de versões, consulte[Acessar o grafo do Neptune com o Gremlin](access-graph-gremlin.md).

A seção a seguir mostra a execução de uma Node.js amostra que se conecta a uma instância de banco de dados Amazon Neptune e executa uma travessia do Gremlin.

Você deve seguir estas instruções em uma instância do Amazon EC2 na mesma nuvem privada virtual (VPC) que a instância de banco de dados do Neptune.

Antes de começar, faça o seguinte:
+ Verifique se a Node.js versão 8.11 ou superior está instalada. Se não estiver, baixe e instale a Node.js partir do [Nodejs.org site](https://nodejs.org).

**Para se conectar a Neptune usando Node.js**

1. Insira o seguinte para instalar o pacote `gremlin-javascript`:

   ```
   npm install gremlin
   ```

1. Crie um arquivo denominado `gremlinexample.js` e abra-o em um editor de texto.

1. Copie o seguinte no arquivo `gremlinexample.js`. {{your-neptune-endpoint}}Substitua pelo endereço da sua instância de banco de dados Neptune.

   Para obter informações sobre como localizar o endereço da instância de banco de dados do Neptune, consulte a seção [Conectar-se a endpoints do 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. Insira o seguinte comando para executar o exemplo:

   ```
   node gremlinexample.js
   ```

O exemplo anterior retorna a contagem de um único vértice no gráfico usando a travessia `g.V().limit(1).count().next()`. Para consultar outro elemento, substitua-a por outra travessia do Gremlin com um dos métodos de término adequado.

**nota**  
A parte final da consulta do Gremlin, `next()`, é necessária para enviar a travessia ao servidor para avaliação. Se você não incluir esse método ou outro método equivalente, a consulta não será enviada à instância de banco de dados do Neptune.

Veja a seguir exemplos de métodos que enviam a consulta para a instância de banco de dados Neptune:
+ `toList()`
+ `toSet()`
+ `next()`
+ `iterate()`

Essas etapas do terminal se comportam de maneira diferente no modo script e no modo bytecode. Para obter a lista canônica das etapas do terminal e detalhes sobre como elas afetam as transações, consulte. [Testar o código do Gremlin no contexto em que você o implantará](best-practices-gremlin-console-glv-differences.md)

Use `iterate()` quando não precisar dos resultados de suas consultas (por exemplo, mutações), pois isso economiza custos de serialização.

**Importante**  
Este é um Node.js exemplo independente. Se você planeja executar um código como esse em uma AWS Lambda função, consulte [Exemplos de função do Lambda](lambda-functions-examples.md) para obter detalhes sobre o uso JavaScript eficiente em uma função Lambda do Neptune.

## Autenticação do IAM
<a name="access-graph-gremlin-nodejs-iam"></a>

O Neptune [oferece suporte à autenticação do IAM](iam-auth-enable.md) para controlar o acesso ao seu cluster de banco de dados. Se você tiver a autenticação do IAM ativada, precisará usar a assinatura Signature versão 4 para autenticar suas solicitações. Para obter instruções detalhadas e exemplos de código para se conectar a partir de um JavaScript cliente, consulte[Conectando-se aos bancos de dados do Amazon Neptune usando a autenticação IAM com o Gremlin JavaScript](gremlin-javascript-iam-auth.md).