View a markdown version of this page

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

Importante

Escolher a versão correta do driver Apache TinkerPop Gremlin é fundamental para a compatibilidade com a versão do motor Neptune. Usar uma versão incompatível pode resultar em falhas de conexão ou comportamento inesperado. Para obter informações detalhadas sobre compatibilidade de versões, consulteAcessar o grafo do Neptune com o 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 Gremlin.NET executando dotnet add package gremlin.net seu pacote. Para obter mais informações, consulte Gremlin.NET na TinkerPop documentação.

Para se conectar ao Neptune usando 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.

    Veja a seguir exemplos de métodos que enviam a consulta para a instância de banco de dados Neptune:

    • ToList()

    • ToSet()

    • Next()

    • Iterate()

    Essas etapas do terminal se comportam de maneira diferente no modo script e no modo bytecode. Para obter a lista canônica de etapas do terminal e detalhes sobre como elas afetam as transações, consulte. Testar o código do Gremlin no contexto em que você o implantará

    Use Iterate() quando não precisar dos resultados de suas consultas (por exemplo, mutações), pois isso economiza custos de serialização.

    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.

Autenticação do IAM

O Neptune oferece suporte à autenticação IAM para controlar o acesso ao seu cluster de banco de dados. Se você tiver a autenticação IAM ativada, precisará usar a assinatura Signature versão 4 para autenticar suas solicitações. Para obter instruções detalhadas e exemplos de código para se conectar a partir de um cliente.NET, consulteConectar-se a bancos de dados do Amazon Neptune usando a autenticação do IAM com Gremlin .NET.