View a markdown version of this page

Utilización Node.js para conectarse a una instancia de base de datos de Neptune - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilización Node.js para conectarse a una instancia de base de datos de Neptune

importante

La elección de la versión correcta del controlador Apache TinkerPop Gremlin es fundamental para la compatibilidad con la versión del motor Neptune. El uso de una versión incompatible puede provocar fallos de conexión o un comportamiento inesperado. Para obtener información detallada sobre la compatibilidad de versiones, consulteAcceso al gráfico de Neptune con Gremlin.

En la siguiente sección, se explica cómo ejecutar un Node.js ejemplo que se conecta a una instancia de base de datos de Amazon Neptune y realiza un recorrido de Gremlin.

Siga estas instrucciones desde una instancia de Amazon EC2 que esté en la misma nube privada virtual (VPC) que su instancia de base de datos de Neptune.

Antes de comenzar, haga lo siguiente:

  • Compruebe que esté instalada la Node.js versión 8.11 o superior. Si no lo está, descárguela e instálelo Node.js desde el Nodejs.org sitio web.

Para conectarse a Neptune mediante Node.js
  1. Escriba lo siguiente para instalar el paquete gremlin-javascript:

    npm install gremlin
  2. Cree un archivo con el nombre gremlinexample.js y ábralo en un editor de texto.

  3. Copie lo siguiente en el archivo gremlinexample.js. your-neptune-endpointSustitúyala por la dirección de la instancia de base de datos de Neptune.

    Para obtener información acerca de cómo encontrar la dirección de la instancia de base de datos de Neptune, consulte la sección Conexión a los puntos de conexión de 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. Escriba el comando siguiente para ejecutar el ejemplo:

    node gremlinexample.js

El ejemplo anterior devuelve el recuento de un único vértice en el gráfico utilizando el recorrido g.V().limit(1).count().next(). Para otras consultas, sustitúyalo por otro recorrido de Gremlin con uno de los métodos de finalización adecuados.

nota

La parte final de la consulta de Gremlin, next(), es necesaria para enviar el recorrido al servidor para su evaluación. Si no incluye ese método u otro equivalente, la consulta no se envía a la instancia de base de datos de Neptune.

A continuación, se muestran ejemplos de métodos que envían la consulta a la instancia de base de datos Neptune:

  • toList()

  • toSet()

  • next()

  • iterate()

Estos pasos finales se comportan de forma diferente en el modo script y en el modo bytecode. Para ver una lista canónica de pasos de terminal y detalles sobre cómo afectan a las transacciones, consulte. Pruebe el código de Gremlin en el contexto en el que lo va a implementar

Úselo iterate() cuando no necesite los resultados de sus consultas (por ejemplo, las mutaciones), ya que ahorra costes de serialización.

importante

Este es un ejemplo independiente. Node.js Si planea ejecutar código como este en una AWS Lambda función, consulte Ejemplos de funciones de Lambda para obtener más información sobre el uso JavaScript eficiente de una función de Neptune Lambda.

Autenticación de IAM

Neptune admite la autenticación de IAM para controlar el acceso a su clúster de base de datos. Si tiene habilitada la autenticación de IAM, debe utilizar la firma de la versión 4 de Signature para autenticar sus solicitudes. Para obtener instrucciones detalladas y ejemplos de código para conectarse desde un JavaScript cliente, consulte. Conexión a las bases de datos de Amazon Neptune mediante la autenticación de IAM con Gremlin JavaScript