Utilisation de .NET pour se connecter à une instance de base de données Neptune - 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.

Utilisation de .NET pour se connecter à une instance de base de données Neptune

Si possible, utilisez toujours la dernière version du client Apache TinkerPop .NET Gkremlin, Gremlin.Net, prise en charge par la version de votre moteur. Les versions plus récentes contiennent de nombreux correctifs de bogues qui améliorent la stabilité, les performances et l'ergonomie du client. La Gremlin.Net version à utiliser s'aligne généralement sur les TinkerPop versions décrites dans le tableau du client Java Gkremlin.

La section suivante contient un exemple de code écrit en C# qui se connecte à une instance de base de données Neptune et effectue une traversée Gremlin.

Les connexions à Amazon Neptune doivent provenir d'une instance Amazon EC2 située dans le même cloud privé virtuel que votre instance de base de données Neptune. Cet exemple de code a été testé sur une instance Amazon EC2 exécutant Ubuntu.

Avant de commencer, vous devez exécuter les actions suivantes :

  • Installez .NET sur l'instance Amazon EC2. Pour obtenir des instructions sur la façon d'installer .NET sur plusieurs systèmes d'exploitation, notamment Windows, Linux et macOS, consultez Mise en route avec .NET.

  • Installez Gremlin.NET en exécutant dotnet add package gremlin.net pour votre package. Pour plus d'informations, consultez Gremlin.net dans la documentation. TinkerPop

Pour se connecter à Neptune à l'aide de Gremlin.NET
  1. Crée un projet .NET.

    dotnet new console -o gremlinExample
  2. Modifiez les répertoires vers le nouveau répertoire de projet.

    cd gremlinExample
  3. Copiez ce qui suit dans le fichier Program.cs. Remplacez your-neptune-endpointpar l'adresse de votre instance de base de données Neptune.

    Consultez la section Connexion aux points de terminaison Amazon Neptune pour découvrir comment trouver l'adresse de votre instance de base de données Neptune.

    using System; using System.Threading.Tasks; using System.Collections.Generic; using Gremlin.Net; using Gremlin.Net.Driver; using Gremlin.Net.Driver.Remote; using Gremlin.Net.Structure; using static Gremlin.Net.Process.Traversal.AnonymousTraversalSource; namespace gremlinExample { class Program { static void Main(string[] args) { try { var endpoint = "your-neptune-endpoint"; // This uses the default Neptune and Gremlin port, 8182 var gremlinServer = new GremlinServer(endpoint, 8182, enableSsl: true ); var gremlinClient = new GremlinClient(gremlinServer); var remoteConnection = new DriverRemoteConnection(gremlinClient, "g"); var g = Traversal().WithRemote(remoteConnection); g.AddV("Person").Property("Name", "Justin").Iterate(); g.AddV("Custom Label").Property("name", "Custom id vertex 1").Iterate(); g.AddV("Custom Label").Property("name", "Custom id vertex 2").Iterate(); var output = g.V().Limit<Vertex>(3).ToList(); foreach(var item in output) { Console.WriteLine(item); } } catch (Exception e) { Console.WriteLine("{0}", e); } } } }
  4. Pour exécuter l'exemple, entrez la commande suivante :

    dotnet run

    La requête Gremlin à la fin de cet exemple renvoie le nombre d'un seul vertex à des fins de test. Elle est ensuite imprimée sur la console.

    Note

    La partie finale de la requête Gremlin, Next(), est obligatoire pour soumettre la traversée au serveur à des fins d'évaluation. Si vous n'incluez pas cette méthode ou une autre méthode équivalente, la requête ne sera pas soumise à l'instance de base de données Neptune.

    Les méthodes suivantes soumettent la requête à l'instance de base de données Neptune :

    • ToList()

    • ToSet()

    • Next()

    • NextTraverser()

    • Iterate()

    Utilisez Next() si vous avez besoin que les résultats de la requête soient sérialisés et renvoyés, ou Iterate() dans le cas contraire.

    L'exemple précédent renvoie une liste à l'aide de la traversée g.V().Limit(3).ToList(). Pour interroger quelque chose d'autre, remplacez la traversée par une autre traversée Gremlin avec l'une des méthodes de fin appropriées.