Conectividad con Amazon Neptune JDBC - 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.

Conectividad con Amazon Neptune JDBC

Amazon Neptune ha publicado un JDBCcontrolador de código abierto que admite GremlinopenCypher, -Gremlin y consultas. SQL SPARQL JDBCla conectividad facilita la conexión a Neptune con herramientas de inteligencia empresarial (BI) como Tableau. El uso del JDBC controlador con Neptuno no supone ningún coste adicional; solo tendrá que pagar por los recursos de Neptuno que se consuman.

El controlador es compatible con la JDBC versión 4.2 y requiere al menos Java 8. Consulte la JDBCAPIdocumentación para obtener información sobre cómo usar un JDBC controlador.

El GitHub proyecto, en el que puede archivar problemas y abrir solicitudes de funciones, contiene documentación detallada sobre el controlador:

Primeros pasos con el controlador Neptune JDBC

Para usar el JDBC controlador Neptune para conectarse a una instancia de Neptune, el JDBC controlador debe estar implementado en una instancia de Amazon en la misma EC2 instancia que VPC su clúster de base de datos Neptune, o bien la instancia debe estar disponible a través de un túnel o un balanceador de cargas. SSH Se puede configurar un SSH túnel en el controlador internamente o se puede configurar externamente.

Puede descargar el controlador desde aquí. El controlador viene empaquetado en un solo JAR archivo con un nombre similarneptune-jdbc-1.0.0-all.jar. Para usarlo, coloque el JAR archivo en classpath la aplicación. O bien, si su aplicación usa Maven o Gradle, puede usar los comandos de Maven o Gradle adecuados para instalar el controlador desde. JAR

El conductor necesita una JDBC conexión URL para conectarse con Neptune, de una forma como esta:

jdbc:neptune:(connection type)://(host);property=value;property=value;...;property=value

Las secciones de cada lenguaje de consulta del GitHub proyecto describen las propiedades que se pueden establecer en la JDBC conexión URL para ese lenguaje de consulta.

Si el JAR archivo está en el de su aplicaciónclasspath, no es necesaria ninguna otra configuración. Puede conectar el controlador mediante la JDBC DriverManager interfaz y una cadena de conexión de Neptune. Por ejemplo, si se puede acceder al clúster de base de datos de Neptune a través del punto final neptune-example.com del puerto 8182, podrá conectarse de la siguiente manera: openCypher

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; void example() { String url = "jdbc:neptune:opencypher://bolt://neptune-example:8182"; Connection connection = DriverManager.getConnection(url); Statement statement = connection.createStatement(); connection.close(); }

Las secciones de documentación del GitHub proyecto para cada lenguaje de consulta describen cómo construir la cadena de conexión cuando se usa ese lenguaje de consulta.

Uso de Tableau con el controlador Neptune JDBC

Para usar Tableau con el JDBC controlador Neptune, comience por descargar e instalar la versión más reciente de Tableau Desktop. Descargue el JAR archivo del JDBC controlador Neptune y también el archivo del conector de Neptune Tableau (un archivo). .taco

Para conectarse a Tableau para Neptune en un Mac
  1. Coloque el JAR archivo del JDBC controlador de Neptune en la /Users/(your user name)/Library/Tableau/Drivers carpeta.

  2. Coloque el archivo .taco del conector de Tableau de Neptune en la carpeta /Users/(your user name)/Documents/My Tableau Repository/Connectors.

  3. Si tiene habilitada la IAM autenticación, configure el entorno para ello. Tenga en cuenta que las variables de entorno configuradas en .zprofile/, .zshenv/, .bash_profile, etc., no funcionarán. Las variables de entorno deben configurarse de manera que una GUI aplicación pueda cargarlas.

    Una forma de configurar las credenciales consiste en colocar la clave de acceso y la clave secreta en el archivo /Users/(your user name)/.aws/credentials.

    Una forma sencilla de configurar la región de servicio consiste en abrir un terminal e introducir el siguiente comando, utilizando la región de la aplicación (por ejemplo, us-east-1):

    launchctl setenv SERVICE_REGION region name

    Hay otras formas de configurar las variables de entorno que persisten después de un reinicio, pero sea cual sea la técnica que utilice, debe establecer variables a las que pueda acceder GUI la aplicación.

  4. Para que las variables de entorno se carguen GUI en un Mac, introduce este comando en una terminal:

    /Applications/Tableau/Desktop/2021.1.app/Contents/MacOS/Tableau
Para conectarse a Tableau para Neptune en una máquina Windows
  1. Coloque el JAR archivo del JDBC controlador de Neptune en la C:\Program Files\Tableau\Drivers carpeta.

  2. Coloque el archivo .taco del conector de Tableau de Neptune en la carpeta C:\Users\(your user name)\Documents\My Tableau Repository\Connectors.

  3. Si tiene habilitada la IAM autenticación, configure el entorno para ello.

    Puede ser tan sencillo como configurar las variables de entorno ACCESS_KEY, SECRET_KEY y SERVICE_REGION del usuario.

Con Tableau abierto, seleccione Más en el lado izquierdo de la ventana. Si el archivo del conector de Tableau está ubicado correctamente, puede seleccionar Amazon Neptune por AWS en la lista que aparece:

Elegir SQL en Tableau

No debería ser necesario editar el puerto ni añadir ninguna opción de conexión. Introduzca su punto final de Neptune y establezca su SSL configuración IAM y (debe habilitarlo SSL si lo está utilizandoIAM).

Al seleccionar Iniciar sesión, la conexión podría tardar más de 30 segundos si el gráfico es grande. Tableau recopila tablas de vértices y bordes y une los vértices en los bordes, además de crear visualizaciones.

Solución de problemas con la conexión de un JDBC controlador

Si el controlador no se conecta al servidor, utilice la isValid función del JDBC Connection objeto para comprobar si la conexión es válida. Si la función regresafalse, lo que significa que la conexión no es válida, compruebe que el punto final al que se está conectando es correcto y que se encuentra en el clúster VPC de base de datos de Neptune o que tiene un SSH túnel válido hacia el clúster.

Si recibe una respuesta No suitable driver found for (connection string) de la llamada DriverManager.getConnection, es probable que haya un problema al principio de la cadena de conexión. Asegúrese de que la cadena de conexión comience así:

jdbc:neptune:opencypher://...

Para recopilar más información sobre la conexión, puede añadir un LogLevel a su cadena de conexión de la siguiente manera:

jdbc:neptune:opencypher://(JDBC URL):(port);logLevel=trace

Como alternativa, puede añadir properties.put("logLevel", "trace") en las propiedades de entrada para registrar la información de rastreo.