As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar .NET para conectar-se a uma instância de banco de dados do Neptune
Se você puder, sempre use a versão mais recente do cliente Apache TinkerPop .NET Gremlin, Gremlin.Net, compatível com a versão do seu mecanismoGremlin.Net
versão a ser usada normalmente se alinhará às TinkerPop versões descritas na tabela do cliente Java Gremlin.
A seção a seguir contém um exemplo de código escrito em C# que se conecta a uma instância de banco de dados do Neptune e executa um percurso do Gremlin.
As conexões com o Amazon Neptune devem ser de uma instância do Amazon EC2 na mesma nuvem privada virtual (VPC) que a instância de banco de dados do Neptune. Este exemplo de código foi testado em uma instância do Amazon EC2 executando o Ubuntu.
Antes de começar, faça o seguinte:
Instale o .NET na instância do Amazon EC2. Para obter instruções para instalação do .NET em vários sistemas operacionais, inclusive o Windows, o Linux e o macOS, consulte Conceitos básicos do .NET
. Instale o Gremlin.NET executando
dotnet add package gremlin.net
para seu pacote. Para obter mais informações, consulte Gremlin.net na documentação. TinkerPop
Como conectar-se ao Neptune usando o Gremlin.NET
-
Crie um novo projeto .NET.
dotnet new console -o gremlinExample
-
Altere os diretórios para o diretório do novo projeto.
cd gremlinExample
-
Copie o seguinte no arquivo
Program.cs
. Substituayour-neptune-endpoint
pelo endereço da instância de banco de dados do Neptune.Para obter informações sobre como localizar o endereço da instância de banco de dados do Neptune, consulte a seção Conectar-se a endpoints do 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); } } } }
-
Insira o seguinte comando para executar o exemplo:
dotnet run
A consulta do Gremlin no final deste exemplo retorna a contagem de um único vértice para fins de teste. Em seguida, ela é impressa no console.
nota
A parte final da consulta do Gremlin,
Next()
, é necessária para enviar a travessia ao servidor para avaliação. Se você não incluir esse método ou outro método equivalente, a consulta não será enviada à instância de banco de dados do Neptune.Os seguintes métodos enviam a consulta à instância de banco de dados do Neptune:
ToList()
ToSet()
Next()
NextTraverser()
Iterate()
Use
Next()
se precisar que os resultados da consulta sejam serializados e gerados, ouIterate()
se não precisar.O exemplo anterior gera uma lista usando o percurso
g.V().Limit(3).ToList()
. Para consultar outro elemento, substitua-a por outra travessia do Gremlin com um dos métodos de término adequado.