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 da EC2 Amazon na mesma nuvem privada virtual (VPC) da sua instância de banco de dados Neptune. Esse código de amostra foi testado em uma EC2 instância da Amazon executando o Ubuntu.

Antes de começar, faça o seguinte:

  • Instale o.NET na EC2 instância da Amazon. 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. your-neptune-endpointSubstitua pelo endereço da sua instância de banco de dados 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.