Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Unterstützung für skriptbasierte Gremlin-Sitzungen

Fokusmodus

Auf dieser Seite

Unterstützung für skriptbasierte Gremlin-Sitzungen - 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.

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.

Sie können Gremlin-Sitzungen mit impliziten Transaktionen in Amazon Neptune verwenden. Informationen zu Gremlin-Sitzungen finden Sie unter Considering Sessions in der TinkerPop Apache-Dokumentation. Die folgenden Abschnitte beschreiben die Verwendung von Gremlin-Sitzungen mit Java.

Anmerkung

Dieses Feature ist ab Neptune-Engine-Version 1.0.1.0.200463.0 verfügbar.

Ab der Neptune-Engine-Version 1.1.1.0 und TinkerPop Version 3.5.2 können Sie auch verwenden. Gremline-Transaktionen

Wichtig

Zurzeit kann Neptune eine skriptbasierte Sitzung maximal 10 Minuten geöffnet lassen. Wenn Sie eine Sitzung nicht eher schließen, findet eine Zeitüberschreitung der Sitzung statt und alle ihre Einstellungen werden zurückgesetzt.

Gremlin-Sitzungen in der Gremlin-Konsole

Wenn Sie eine Remote-Verbindung auf der Gremlin-Konsole ohne den session-Parameter erstellen, wird die Remote-Verbindung im sitzungslosen Modus erstellt. In diesem Modus wird jede Anforderung, die an den Server gesendet wird, als eine vollständige Transaktion an sich behandelt, und zwischen den Anforderungen wird kein Status gespeichert. Wenn eine Anforderung fehlschlägt, wird nur die betreffende Anforderung zurückgesetzt.

Wenn Sie eine Remote-Verbindung mit dem session-Parameter erstellen, dann erstellen Sie eine skriptbasierte Sitzung, die solange dauert, bis Sie die Remote-Verbindung beenden. Jede Sitzung wird durch eine eindeutige UUID identifiziert, die die Konsole generiert und an Sie zurückgibt.

Es folgt ein Beispiel für einen Konsolenaufruf, der eine Sitzung erstellt. Nachdem Abfragen übermittelt wurden, schließt ein anderer Aufruf die Sitzung und führt ein Commit für die Abfragen durch.

Anmerkung

Der Gremlin-Client muss immer geschlossen sein, um serverseitige Ressourcen freigeben zu können.

gremlin> :remote connect tinkerpop.server conf/neptune-remote.yaml session . . . . . . gremlin> :remote close

Weitere Informationen und Beispiele finden Sie in der Dokumentation unter Sessions. TinkerPop

Alle Abfragen, die Sie während einer Sitzung ausführen, bilden eine einzelne Transaktion, für die erst ein Commit durchgeführt wird, wenn alle Abfragen erfolgreich sind und Sie die Remote-Verbindung schließen. Wenn eine Abfrage fehlschlägt oder wenn Sie die Verbindung nicht innerhalb der von Neptune maximal unterstützten Sitzungszeit schließen, wird kein Commit der Sitzungstransaktion durchgeführt und alle enthaltenen Abfragen werden zurückgesetzt.

Gremlin-Sitzungen in der Gremlin Language Variant

Sie müssen in der Gremlin Language Variant (GLV) ein SessionedClient-Objekt erstellen, damit in einer einzelnen Transaktion mehrere Abfragen ausgegeben werden, vgl. das folgende Beispiel.

try { // line 1 Cluster cluster = Cluster.open(); // line 2 Client client = cluster.connect("sessionName"); // line 3 ... ... } finally { // Always close. If there are no errors, the transaction is committed; otherwise, it's rolled back. client.close(); }

Zeile 3 im Beispiel oben erstellt das SessionedClient-Objekt entsprechend den Konfigurationsoptionen, die für den betreffenden Cluster festgelegt wurden. Die sessionName Zeichenfolge, die Sie an die Connect-Methode übergeben, wird zum eindeutigen Namen der Sitzung. Um Kollisionen zu vermeiden, verwenden Sie eine UUID für den Namen.

Der Client startet eine Sitzungstransaktion, wenn er initialisiert wird. Für alle Abfragen, die Sie im Rahmen des Sitzungsformulars ausführen, werden nur Commits durchgeführt, wenn Sie client.close( ) aufrufen. Nochmals: Wenn eine einzelne Abfrage fehlschlägt oder wenn Sie die Verbindung nicht innerhalb der von Neptune maximal unterstützten Sitzungszeit schließen, schlägt die Sitzungstransaktion fehl und alle enthaltenen Abfragen werden zurückgesetzt.

Anmerkung

Der Gremlin-Client muss immer geschlossen sein, um serverseitige Ressourcen freigeben zu können.

GraphTraversalSource g = traversal().withRemote(conn); Transaction tx = g.tx(); // Spawn a GraphTraversalSource from the Transaction. // Traversals spawned from gtx are executed within a single transaction. GraphTraversalSource gtx = tx.begin(); try { gtx.addV('person').iterate(); gtx.addV('software').iterate(); tx.commit(); } finally { if (tx.isOpen()) { tx.rollback(); } }
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.