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 Python
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 Python-Beispiels mit Herstellung einer Verbindung zu einer Amazon-Neptune-DB-Instance und Ausführung einer Gremlin-Traversierung.
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:
Laden Sie Python 3.6 oder höher von der Python.org Website herunter und installieren Sie es
. Überprüfen Sie, ob Sie pip installiert haben. Haben Sie pip nicht installiert oder sind sich nicht sicher, lesen Sie Do I need to install pip?
in der pip-Dokumenation. Wenn Ihre Python-Installation nicht bereits darüber verfügt, ist der Download von
futureswie folgt möglich:pip install futures
Herstellen einer Verbindung mit Neptune über Python
-
Geben Sie Folgendes ein, um das
gremlinpython-Paket zu installieren:pip install --user gremlinpython -
Erstellen Sie eine Datei namens
gremlinexample.pyund öffnen Sie diese dann in einem Text-Editor. -
Kopieren Sie Folgendes in die
gremlinexample.py-Datei.your-neptune-endpointErsetzen Sie durch die Adresse Ihres Neptune-DB-Clusters undyour-neptune-portdurch den Port Ihres Neptune-DB-Clusters (Standard:8182).Informationen zum Ermitteln der Adresse Ihrer Neptune-DB-Instance finden Sie im Abschnitt Verbinden mit Amazo-Neptune-Endpunkten.
Das folgende Beispiel zeigt, wie Sie eine Verbindung mit Gremlin Python herstellen.
import boto3 import os from botocore.auth import SigV4Auth from botocore.awsrequest import AWSRequest from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection from gremlin_python.process.anonymous_traversal import traversal database_url = "wss://your-neptune-endpoint:your-neptune-port/gremlin" remoteConn = DriverRemoteConnection(database_url, "g") g = traversal().withRemote(remoteConn) print(g.inject(1).toList()) remoteConn.close() -
Geben Sie den folgenden Befehl ein, um das Beispiel auszuführen:
python gremlinexample.pyDie Gremlin-Abfrage am Ende dieses Beispiel gibt die Knoten (
g.V().limit(2)) in einer Liste zurück. Diese Liste wird dann mit der Python-Standardfunktionprintgedruckt.Anmerkung
Der letzte Teil der Gremlin-Abfrage,
toList(), 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.Das vorherige Beispiel gibt die ersten beiden Knoten im Diagramm über die
g.V().limit(2).toList()-Traversierung zurück. Um etwas anderes abzufragen, ersetzen Sie diese durch eine andere Gremlin-Traversierung mit einer der entsprechenden Ending-Methoden.
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 die Verbindung von einem Python-Client aus finden Sie unter. Herstellen einer Verbindung zu Amazon Neptune-Datenbanken mithilfe der IAM-Authentifizierung mit Gremlin Python