Comment puis-je visualiser un graphique Gremlin à partir d'Amazon Neptune avec Graphexp ?

Date de la dernière mise à jour : 01/09/2020

Je souhaite utiliser Graphexp pour visualiser un graphique Gremlin stocké dans Amazon Neptune. Comment dois-je procéder ?

Brève description

Afin d'utiliser Graphexp pour visualiser un graphique Gremlin, remplissez les conditions préalables suivantes :

1.    Créez un cluster de base de données Neptune.

2.    Créez une instance Linux Amazon Elastic Compute Cloud (Amazon EC2) dans le même Virtual Private Cloud (VPC) que le cluster Neptune. Assurez-vous que l'instance est accessible à partir de votre ordinateur local via une connexion SSH.

3.    Créez un groupe de sécurité VPC qui permet à l'instance EC2 de se connecter au cluster Neptune depuis le VPC. Pour plus d'informations, consultez Accès aux clusters de base de données Neptune dans un VPC Amazon.

4.    Vérifiez que votre authentification AWS Identity and Access Management (IAM) est désactivée.

5.    Sur l'instance EC2, installez la console Gremlin et connectez-vous à Neptune.

Remarque : si le paramètre neptune_enforce_ssl est défini sur « true » pour votre base de données, utilisez une connexion HTTPS (wss). Ou si vous utilisez REST sur HTTPS, définissez votre paramètre REST_USE_HTTPS sur « true ». Dans le cas contraire, vous recevez une erreur de connexion. Pour plus d'informations, consultez Chiffrement en transit : connexion à Neptune à l'aide de SSL/HTTPS.

Résolution

Charger le graphique Gremlin

Remarque : les exemples suivants utilisent le graphique de propriétés de la documentation GitHub Apache TinkerPop.

Dans la console Gremlin, effectuez les opérations suivantes :

1.    Ajouter les sommets :

g.addV('person').property(id,'v1').property('name','marko').property('age','29').
  addV('person').property(id,'v2').property('name','vadas').property('age','27').
  addV('software').property(id,'v3').property('name','lop').property('lang','java').
  addV('person').property(id,'v4').property('name','josh').property('age','32').
  addV('software').property(id,'v5').property('name','ripple').property('lang','java').
  addV('person').property(id,'v6').property('name','peter').property('age','35')

2.    Ajouter les arêtes :

g.addE('created').from(g.V('v1')).to(g.V('v3')).property(id,'e9').property('weight','0.4')
g.addE('created').from(g.V('v4')).to(g.V('v5')).property(id,'e10').property('weight','1.0')
g.addE('created').from(g.V('v4')).to(g.V('v3')).property(id,'e11').property('weight','0.4')
g.addE('created').from(g.V('v6')).to(g.V('v3')).property(id,'e12').property('weight','0.2')
g.addE('knows').from(g.V('v1')).to(g.V('v2')).property(id,'e7').property('weight','0.4')
g.addE('knows').from(g.V('v1')).to(g.V('v4')).property(id,'e8').property('weight','1.0')

Configurer le tunnel SSH

Le tunnel SSH permet à votre ordinateur local de se connecter tant au serveur EC2 qu'à l'instance Neptune à l'aide du réacheminement de port local. Vous pouvez créer le tunnel SSH à l'aide d'un client SSH ou de PuTTY.

Exécutez la commande suivante pour vous connecter à l'aide d'un client SSH. L'exemple utilise ces valeurs :

8182 : port du cluster Neptune
mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com : le point de terminaison du cluster Neptune
my_keypair.pem : votre fichier de paire de clés privée
ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com : le nom d'hôte DNS public de l'instance EC2

ssh -L 8182:mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182 -i my_keypair.pem ec2-user@ec2-11-111-11-111.eu-west-1.compute.amazonaws.com

PuTTY :

1.    Dans le volet Catégorie, choisissez Session, puis remplissez les champs suivants :
Pour Nom d'hôte, saisissez le nom d'hôte DNS public de l'instance EC2.
Pour Port, assurez-vous que la valeur est 22.

2.    Dans la liste Catégorie, développez Connexion > SSH, puis sélectionnez Tunnels. Remplissez les champs suivants :
Pour Port source, saisissez le port que vous avez choisi lors de la création du cluster Neptune, par exemple 8182.
Pour Destination, saisissez le point de terminaison et le port du cluster Neptune. Exemple : mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182.
Sélectionnez les options Local et Auto.

3.    Sélectionnez « Add » (Ajouter), puis « Open » (Ouvrir). Lorsque la session s'ouvre, un journal des événements s'affiche :

[timestamp] Local port 8182 forwarding to mydbcluster.cluster-123456789012.eu-west-1.neptune.amazonaws.com:8182

Configuration de Graphexp

1.    Téléchargez le package Graphexp à partir de GitHub.

2.    Extrayez le fichier compressé sur votre système de fichiers local.

3.    Ouvrez le fichier scripts/graphConf.js et définissez les paramètres suivants :

const host = "localhost";
const SINGLE_COMMANDS_AND_NO_VARS = true

Accéder au graphique Neptune dans votre navigateur

1.    Dans votre navigateur, saisissez le chemin d'accès au fichier graphexp.html dans le répertoire Graphexp décompressé. Par exemple :

file:///C:/Neptune/graphexp-main/graphexp-main/graphexp.html

2.    Sélectionnez Obtenir les informations du graphique, puis Rechercher pour charger et afficher le graphique Gremlin.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?