Usar .NET para conectar-se a uma instância de banco de dados do Neptune - Amazon Neptune

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 mecanismo. As versões mais recentes contêm várias correções de erros que melhoram a estabilidade, o desempenho e a usabilidade do cliente. A Gremlin.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
  1. Crie um novo projeto .NET.

    dotnet new console -o gremlinExample
  2. Altere os diretórios para o diretório do novo projeto.

    cd gremlinExample
  3. Copie o seguinte no arquivo Program.cs. Substitua your-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); } } } }
  4. 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, ou Iterate() 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.