Usar o Node.js para conectar-se a uma instância de banco de dados do Neptune
Se possível, sempre use a versão mais recente do cliente JavaScript do Gremlin para Apache TinkerPop, gremlingremlin a ser usada normalmente se alinha às versões do TinkerPop descritas na tabela do cliente Java do Gremlin.
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
.
Como conectar-se ao Neptune usando o Node.js
-
Insira o seguinte para instalar o pacote
gremlin-javascript:npm install gremlin -
Crie um arquivo denominado
gremlinexample.jse abra-o em um editor de texto. -
Copie o seguinte no arquivo
gremlinexample.js. Substituayour-neptune-endpointpelo endereço da instância de banco de dados do 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(); }); -
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 função AWS Lambda, consulte Exemplos de função do Lambda para obter detalhes sobre o uso eficiente do JavaScript em uma função do Lambda do Neptune.