

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

# Usar o Node.js para conectar-se a uma instância de banco de dados do 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 descreve a execução de um exemplo do Node.js que se conecta a uma instância de banco de dados do Amazon Neptune e executa um percurso 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 versão Node.js 8.11 ou superior está instalada. Se não estiver, faça download e instale o Node.js no [site Nodejs.org](https://nodejs.org).

**Como conectar-se ao Neptune usando o 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.

Os seguintes métodos enviam a consulta à instância de banco de dados do Neptune:
+ `toList()`
+ `toSet()`
+ `next()`
+ `nextTraverser()`
+ `iterate()`

Use `next()` se precisar que os resultados da consulta sejam serializados e gerados, ou `iterate()` se não precisar.

**Importante**  
Este é um exemplo de Node.js 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).