View a markdown version of this page

Usando Node.js para se conectar a uma instância de banco de dados Neptune - Amazon Neptune

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

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, consulteAcessar o grafo do Neptune com o Gremlin.

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.

Para se conectar a Neptune usando Node.js
  1. Insira o seguinte para instalar o pacote gremlin-javascript:

    npm install gremlin
  2. Crie um arquivo denominado gremlinexample.js e abra-o em um editor de texto.

  3. Copie o seguinte no arquivo gremlinexample.js. your-neptune-endpointSubstitua 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.

    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(); });
  4. 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á

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 para obter detalhes sobre o uso JavaScript eficiente em uma função Lambda do Neptune.

Autenticação do IAM

O Neptune oferece suporte à autenticação do IAM 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, consulteConectando-se aos bancos de dados do Amazon Neptune usando a autenticação IAM com o Gremlin JavaScript.