View a markdown version of this page

Verwenden Node.js , um eine Verbindung zu einer Neptune-DB-Instance herzustellen - 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.

Verwenden Node.js , um eine Verbindung zu einer Neptune-DB-Instance herzustellen

Wichtig

Die Auswahl der richtigen Apache TinkerPop Gremlin-Treiberversion ist entscheidend für die Kompatibilität mit Ihrer Neptune-Engine-Version. Die Verwendung einer inkompatiblen Version kann zu Verbindungsfehlern oder unerwartetem Verhalten führen. Ausführliche Informationen zur Versionskompatibilität finden Sie unterZugriff auf ein Neptune-Diagramm mit Gremlin.

Der folgende Abschnitt führt Sie durch die Ausführung eines Node.js Beispiels, das eine Verbindung zu einer Amazon Neptune-DB-Instance herstellt und einen Gremlin-Traversal durchführt.

Sie müssen diese Anweisungen für eine Amazon-EC2-Instance befolgen, die sich in derselben Virtual Private Cloud (VPC) wie Ihre Neptune-DB-Instance befindet.

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

  • Stellen Sie sicher, dass Node.js Version 8.11 oder höher installiert ist. Ist dies nicht der Fall, laden Sie es herunter und installieren Sie es Node.js von der Nodejs.org Website.

So stellen Sie eine Verbindung zu Neptune her mit Node.js
  1. Geben Sie Folgendes ein, um das gremlin-javascript-Paket zu installieren:

    npm install gremlin
  2. Erstellen Sie eine Datei namens gremlinexample.js und öffnen Sie diese dann in einem Text-Editor.

  3. Kopieren Sie Folgendes in die gremlinexample.js-Datei. Ersetzen Sie your-neptune-endpoint 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.

    const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const Graph = gremlin.structure.Graph; dc = new DriverRemoteConnection('wss://your-neptune-endpoint:8182/gremlin',{}); const graph = new Graph(); const g = graph.traversal().withRemote(dc); g.V().limit(1).count().next(). then(data => { console.log(data); dc.close(); }).catch(error => { console.log('ERROR', error); dc.close(); });
  4. Geben Sie den folgenden Befehl ein, um das Beispiel auszuführen:

    node gremlinexample.js

Das vorherige Beispiel gibt über die g.V().limit(1).count().next()-Traversierung die Anzahl eines einzelnen Vertex im Diagramm zurück. Um etwas anderes abzufragen, ersetzen Sie diese durch eine andere Gremlin-Traversierung mit einer der entsprechenden Ending-Methoden.

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.

Im Folgenden finden Sie Beispiele für Methoden, die die Abfrage an die Neptune-DB-Instance senden:

  • toList()

  • toSet()

  • next()

  • iterate()

Diese Terminalschritte verhalten sich im Skriptmodus und im Bytecode-Modus unterschiedlich. Eine kanonische Liste der Terminalschritte und Einzelheiten dazu, wie sie sich auf Transaktionen auswirken, finden Sie unter. Testen Sie den Gremlin-Code in dem Kontext, in dem Sie ihn einsetzen werden

Verwenden Sie diese Option, iterate() wenn Sie die Ergebnisse Ihrer Abfragen (z. B. Mutationen) nicht benötigen, da dies Serialisierungskosten spart.

Wichtig

Dies ist ein eigenständiges Node.js Beispiel. Wenn Sie planen, Code wie diesen in einer AWS Lambda Funktion auszuführen, finden Sie Einzelheiten Beispiele für Lambda-Funktionen zur JavaScript effizienten Verwendung in einer Neptune Lambda-Funktion unter.

IAM-Authentifizierung

Neptune unterstützt die IAM-Authentifizierung zur Steuerung des Zugriffs auf Ihren DB-Cluster. Wenn Sie die IAM-Authentifizierung aktiviert haben, müssen Sie die Signature Version 4-Signatur verwenden, um Ihre Anfragen zu authentifizieren. Detaillierte Anweisungen und Codebeispiele für das Herstellen einer Verbindung von einem JavaScript Client aus finden Sie unter. Herstellen einer Verbindung zu Amazon Neptune-Datenbanken mithilfe der IAM-Authentifizierung mit Gremlin JavaScript