Connectivité avec Amazon Neptune JDBC - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connectivité avec Amazon Neptune JDBC

Amazon Neptune a publié un JDBCpilote open source qui prend en charge GkremlinopenCypher, SQL -Gkremlin et les requêtes. SPARQL JDBCla connectivité facilite la connexion à Neptune grâce à des outils de business intelligence (BI) tels que Tableau. L'utilisation du JDBC pilote avec Neptune n'entraîne aucun coût supplémentaire. Vous ne payez toujours que pour les ressources Neptune consommées.

Le pilote est compatible avec la JDBC version 4.2 et nécessite au moins Java 8. Consultez la JDBCAPIdocumentation pour plus d'informations sur l'utilisation d'un JDBC pilote.

Le GitHub projet, dans lequel vous pouvez signaler des problèmes et ouvrir des demandes de fonctionnalités, contient une documentation détaillée sur le pilote :

Commencer à utiliser le pilote Neptune JDBC

Pour utiliser le JDBC pilote Neptune pour vous connecter à une instance Neptune, soit le JDBC pilote doit être déployé sur une EC2 instance Amazon identique à VPC votre cluster de base de données Neptune, soit l'instance doit être disponible via un tunnel ou un équilibreur de charge. SSH Un SSH tunnel peut être installé dans le pilote en interne ou en externe.

Vous pouvez télécharger le pilote source ici. Le pilote est fourni sous forme de JAR fichier unique avec un nom tel queneptune-jdbc-1.0.0-all.jar. Pour l'utiliser, placez le JAR fichier dans le dossier classpath de votre application. Ou, si votre application utilise Maven ou Gradle, vous pouvez utiliser les commandes Maven ou Gradle appropriées pour installer le pilote à partir du. JAR

Le pilote a besoin d'une JDBC connexion URL pour se connecter à Neptune, sous la forme suivante :

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

Les sections relatives à chaque langue de requête du GitHub projet décrivent les propriétés que vous pouvez définir dans la JDBC connexion URL pour cette langue de requête.

Si le JAR fichier se trouve dans celui de votre applicationclasspath, aucune autre configuration n'est nécessaire. Vous pouvez connecter le pilote à l'aide de l'JDBCDriverManagerinterface et d'une chaîne de connexion Neptune. Par exemple, si votre cluster de base de données Neptune est accessible via le point de terminaison neptune-example.com sur le port 8182, vous pourrez vous connecter comme suit : 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(); }

Les sections de documentation du GitHub projet pour chaque langage de requête décrivent comment construire la chaîne de connexion lors de l'utilisation de ce langage de requête.

Utilisation de Tableau avec le pilote Neptune JDBC

Pour utiliser Tableau avec le JDBC pilote Neptune, commencez par télécharger et installer la version la plus récente de Tableau Desktop. Téléchargez le JAR fichier du JDBC pilote Neptune, ainsi que le fichier du connecteur Neptune Tableau (un fichier). .taco

Pour vous connecter à Tableau pour Neptune sur un Mac
  1. Placez le fichier du JDBC pilote Neptune dans JAR le /Users/(your user name)/Library/Tableau/Drivers dossier.

  2. Placez le fichier .taco du connecteur Neptune Tableau dans le dossier /Users/(your user name)/Documents/My Tableau Repository/Connectors.

  3. Si IAM l'authentification est activée, configurez l'environnement correspondant. Notez que les variables d'environnement définies dans .zprofile/, .zshenv/, .bash_profile, etc. ne fonctionnent pas. Les variables d'environnement doivent être définies de manière à pouvoir être chargées par une GUI application.

    Pour définir vos informations d'identification, vous pouvez placer votre clé d'accès et votre clé secrète dans le fichier /Users/(your user name)/.aws/credentials.

    Pour définir facilement la région de service, ouvrez un terminal et entrez la commande suivante, en utilisant la région de votre application (par exemple, us-east-1) :

    launchctl setenv SERVICE_REGION region name

    Il existe d'autres méthodes pour définir des variables d'environnement qui persistent après un redémarrage, mais quelle que soit la technique utilisée, vous devez définir des variables accessibles à une GUI application.

  4. Pour charger des variables d'environnement dans un GUI Mac, entrez cette commande sur un terminal :

    /Applications/Tableau/Desktop/2021.1.app/Contents/MacOS/Tableau
Pour vous connecter à Tableau pour Neptune sur un ordinateur Windows
  1. Placez le fichier du JDBC pilote Neptune dans JAR le C:\Program Files\Tableau\Drivers dossier.

  2. Placez le fichier .taco du connecteur Neptune Tableau dans le dossier C:\Users\(your user name)\Documents\My Tableau Repository\Connectors.

  3. Si IAM l'authentification est activée, configurez l'environnement correspondant.

    Cela peut être aussi simple que de définir des variables d'environnement utilisateur ACCESS_KEY, SECRET_KEY et SERVICE_REGION.

Une fois Tableau ouvert, sélectionnez Plus du côté gauche de la fenêtre. Si le fichier du connecteur Tableau est correctement localisé, vous pouvez sélectionner Amazon Neptune en AWSdans la liste qui apparaît :

Choisir SQL dans Tableau

Vous ne devriez pas avoir à modifier le port ni à ajouter d'options de connexion. Entrez votre point de terminaison Neptune et définissez votre SSL configuration IAM et (vous devez l'activer SSL si vous utilisezIAM).

Lorsque vous sélectionnez Se connecter, la connexion peut prendre plus de 30 secondes si le graphe est volumineux. Tableau collecte les tables de sommets et d'arêtes, joint les sommets sur des arêtes et crée des visualisations.

Résolution des problèmes de connexion d'un JDBC pilote

Si le pilote ne parvient pas à se connecter au serveur, utilisez la isValid fonction de l'JDBCConnectionobjet pour vérifier si la connexion est valide. Si la fonction revientfalse, ce qui signifie que la connexion n'est pas valide, vérifiez que le point de terminaison auquel vous êtes connecté est correct et que vous faites partie VPC de votre cluster de base de données Neptune ou que vous disposez d'un SSH tunnel valide vers le cluster.

Si vous recevez une réponse No suitable driver found for (connection string) à l'appel DriverManager.getConnection, il existe probablement un problème au début de la chaîne de connexion. Assurez-vous que la chaîne de connexion commence comme suit :

jdbc:neptune:opencypher://...

Pour recueillir plus d'informations sur la connexion, vous pouvez ajouter un LogLevel à la chaîne de connexion comme suit :

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

Vous pouvez également ajouter properties.put("logLevel", "trace") dans les propriétés d'entrée pour enregistrer les informations de suivi.