Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di .NET per connettersi a un'istanza database Neptune
Importante
La scelta della versione corretta del driver Apache TinkerPop Gremlin è fondamentale per la compatibilità con la versione del motore Neptune in uso. L'utilizzo di una versione incompatibile può causare errori di connessione o comportamenti imprevisti. Per informazioni dettagliate sulla compatibilità delle versioni, vedere. Accesso al grafo Neptune con Gremlin
La sezione seguente contiene un codice di esempio scritto in C # che si connette a un'istanza database Neptune ed esegue un attraversamento Gremlin.
Le connessioni ad Amazon Neptune devono provenire da un'istanza Amazon EC2 che si trova nello stesso cloud privato virtuale (VPC) dell'istanza database Neptune. Questo codice di esempio è stato testato su un'istanza Amazon EC2 che esegue Ubuntu.
Prima di iniziare, esegui queste attività:
Installa .NET sull'istanza Amazon EC2. Per istruzioni su come installare .NET su sistemi operativi multipli, incluso Windows, Linux e macOS, vedere Get Started with .NET
. Installa Gremlin.NET eseguendo il
dotnet add package gremlin.netdownload del tuo pacchetto. Per ulteriori informazioni, Gremlin.NETconsulta la TinkerPop documentazione.
Per connettersi a Neptune utilizzando Gremlin.NET
-
Crea un nuovo progetto .NET.
dotnet new console -o gremlinExample -
Spostare le directory nella nuova directory di progetto.
cd gremlinExample -
Copiare quanto segue nel file
Program.cs. Sostituisciyour-neptune-endpointcon l'indirizzo della tua istanza DB Neptune.Per informazioni su come trovare l'indirizzo dell'istanza database Neptune, consulta la sezione Connessione agli endpoint Amazon 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); } } } } -
Immettere il comando seguente per eseguire l'esempio:
dotnet runLa query Gremlin alla fine di questo esempio restituisce il conteggio di un singolo vertice a scopo di test. Viene quindi stampata sulla console.
Nota
La parte finale della query Gremlin,
Next()è obbligatoria per inviare l'attraversamento al server per la valutazione. Se non includi quel metodo o un altro metodo equivalente, la query non viene inviata all'istanza database Neptune.Di seguito sono riportati alcuni esempi di metodi che inviano la query all'istanza DB Neptune:
ToList()ToSet()Next()Iterate()
Questi passaggi terminali si comportano in modo diverso in modalità script e in modalità bytecode. Per l'elenco canonico dei passaggi del terminale e i dettagli su come influiscono sulle transazioni, vedere. Test del codice Gremlin nel contesto in cui verrà implementato
Utilizzalo
Iterate()quando non hai bisogno dei risultati delle tue query (ad esempio le mutazioni) in quanto consente di risparmiare sui costi di serializzazione.L'esempio precedente restituisce un elenco utilizzando l'attraversamento
g.V().Limit(3).ToList(). Per eseguire query per qualcos'altro, sostituirla con un altro attraversamento Gremlin con uno dei metodi finali appropriati.
Autenticazione IAM
Neptune supporta l'autenticazione IAM per controllare l'accesso al cluster DB. Se hai abilitato l'autenticazione IAM, devi utilizzare la firma Signature Version 4 per autenticare le tue richieste. Per istruzioni dettagliate ed esempi di codice per la connessione da un client.NET, consultaConnessione ai database Amazon Neptune utilizzando l'autenticazione IAM con Gremlin.NET.