Herstellen einer Verbindung mit einer Neptune-DB-Instance über .NET - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Herstellen einer Verbindung mit einer Neptune-DB-Instance über .NET

Verwenden Sie nach Möglichkeit immer die neueste Version des Apache TinkerPop .NET Gremlin-Clients, Gremlin.Net, die Ihre Engine-Version unterstützt. Neuere Versionen enthalten zahlreiche Fehlerbehebungen, die Stabilität, Leistung und Benutzerfreundlichkeit des Clients verbessern. Die zu Gremlin.Net verwendende Version entspricht in der Regel den TinkerPop Versionen, die in der Tabelle für den Java-Gremlin-Client beschrieben sind.

Der folgende Abschnitt enthält ein in C# geschriebenes Codebeispiel, das eine Verbindung mit einer Neptune-DB-Instance herstellt und eine Gremlin-Traversierung ausführt.

Die Verbindungen mit Amazon Neptune müssen über eine Amazon-EC2-Instance erfolgen, die sich in derselben Virtual Private Cloud (VPC) wie Ihre Neptune-DB-Instance befindet. Dieser Beispielcode wurde auf einer Amazon-EC2-Instance getestet, auf der Ubuntu ausgeführt wird.

Bevor Sie beginnen, führen Sie die folgenden Schritte aus:

  • Installieren Sie .NET auf der Amazon-EC2-Instance. Informationen zum Installieren von .NET auf verschiedenen Betriebssystemen einschließlich Windows, Linux und macOS finden Sie unter Get Started with .NET.

  • Installieren Sie Gremlin.NET, indem Sie dotnet add package gremlin.net für Ihr Paket ausführen. Weitere Informationen finden Sie unter Gremlin.NET in der Dokumentation. TinkerPop

Herstellen einer Verbindung mit Neptune über Gremlin.NET
  1. Erstellen Sie ein neues .NET-Projekt.

    dotnet new console -o gremlinExample
  2. Ändern Sie die Verzeichnisse in das neue Projektverzeichnis.

    cd gremlinExample
  3. Kopieren Sie Folgendes in die Program.cs-Datei. your-neptune-endpointErsetzen Sie durch die Adresse Ihrer Neptune-DB-Instance.

    Informationen zum Ermitteln der Adresse Ihrer Neptune-DB-Instance finden Sie im Abschnitt Verbinden mit Amazo-Neptune-Endpunkten.

    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. Geben Sie den folgenden Befehl ein, um das Beispiel auszuführen:

    dotnet run

    Die Gremlin-Abfrage am Ende dieses Beispiels gibt die Anzahl eines einzelnen Knotens zu Testzwecken zurück. Sie wird dann in der Konsole ausgegeben.

    Anmerkung

    Der letzte Teil der Gremlin-Abfrage, Next(), ist für die Übermittlung der Traversierung zur Auswertung an den Server erforderlich. Wenn Sie diese oder eine gleichwertige Methode nicht einschließen, wird die Abfrage nicht an die Neptune-DB-Instance übermittelt.

    Die folgenden Methoden senden die Abfrage an die Neptune-DB-Instance:

    • ToList()

    • ToSet()

    • Next()

    • NextTraverser()

    • Iterate()

    Verwenden Sie Next(), wenn die Abfrageergebnisse serialisiert und zurückgegeben werden sollen, andernfalls Iterate().

    Das vorherige Beispiel gibt eine Liste über die Traversierung g.V().Limit(3).ToList() zurück. Um etwas anderes abzufragen, ersetzen Sie diese durch eine andere Gremlin-Traversierung mit einer der entsprechenden Ending-Methoden.