使用 .NET 连接到 Neptune 数据库实例 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 .NET 连接到 Neptune 数据库实例

如果可以的话,请始终使用您的引擎版本支持的 Apache TinkerPop .NET Gremlin 客户端的最新版本 Gremlin.Net。更新的版本包含大量错误修复,可以提升客户端的稳定性、性能和可用性。要使用的 Gremlin.Net 版本通常与 Java Gremlin 客户端表中描述的 TinkerPop 版本保持一致。

以下部分包含采用 C# 编写的代码示例,该示例连接到 Neptune 数据库实例并执行 Gremlin 遍历。

到 Amazon Neptune 的连接必须来自与您的 Neptune 数据库实例位于同一虚拟私有云 (VPC) 中的 Amazon EC2 实例。此示例代码已在运行 Ubuntu 的 Amazon EC2 实例上进行测试。

开始之前,请执行以下操作:

  • 在 Amazon EC2 实例上安装 .NET。要获取有关在多个操作系统 (包括 Windows、Linux 和 macOS) 上安装 .NET 的说明,请参阅 .NET 入门

  • 通过为您的程序包运行 dotnet add package gremlin.net 来安装 Gremlin.NET。有关更多信息,请参阅 TinkerPop 文档中的 Gremlin.NET

使用 Gremlin.NET 连接到 Neptune
  1. 创建新的 .NET 项目。

    dotnet new console -o gremlinExample
  2. 将目录更改为新项目目录。

    cd gremlinExample
  3. 将以下内容复制到 Program.cs 文件中。将 your-neptune-endpoint 替换为 Neptune 数据库实例的地址。

    有关查找 Neptune 数据库实例的地址的信息,请参阅连接到 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. 输入以下命令以运行示例:

    dotnet run

    此示例结尾处的 Gremlin 查询将返回用于测试目的的单个顶点的计数。然后,它将输出到控制台。

    注意

    要将遍历提交到服务器进行评估,需要 Gremlin 查询的最后一部分 Next()。如果您未包含该方法或其它等效方法,该查询将不会提交到 Neptune 数据库实例。

    以下方法将查询提交到 Neptune 数据库实例:

    • ToList()

    • ToSet()

    • Next()

    • NextTraverser()

    • Iterate()

    如果您需要序列化并返回查询结果,请使用 Next(),否则请使用 Iterate()

    上述示例通过使用 g.V().Limit(3).ToList() 遍历返回一个列表。要查询其他内容,请将其替换为具有其中一种适当的结尾方法的其他 Gremlin 遍历。