View a markdown version of this page

Se usa 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.

Se usa 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 errores 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 por 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álela Node.js desde el Nodejs.org sitio web.

Para conectarse a Neptune usando 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 terminales se comportan de manera diferente en el modo script y en el modo bytecode. Para ver la lista canónica de los pasos terminales y obtener más información sobre cómo afectan a las transacciones, consulte. Pruebe el código de Gremlin en el contexto en el que lo va a implementar

iterate()Utilízala cuando no necesites los resultados de tus 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 Lambda de Neptune.

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 usar la firma Signature Version 4 para autenticar sus solicitudes. Para obtener instrucciones detalladas y ejemplos de código para conectarse desde un JavaScript cliente, consulte. Conexión a bases de datos de Amazon Neptune mediante la autenticación de IAM con Gremlin JavaScript