本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Node.js 连接到 Neptune 数据库实例
重要
选择正确的 Apache TinkerPop Gremlin 驱动程序版本对于与你的 Neptune 引擎版本兼容至关重要。使用不兼容的版本可能会导致连接失败或意外行为。有关版本兼容性的详细信息,请参阅使用 Gremlin 访问 Neptune 图形。
以下部分将指导您完成 Node.js 示例的运行,该示例连接到 Amazon Neptune 数据库实例并执行 Gremlin 遍历。
必须从与您的 Neptune 数据库实例位于同一虚拟私有云 (VPC) 中的 Amazon EC2 实例中按照这些说明操作。
开始之前,请执行以下操作:
验证是否已安装 Node.js 版本 8.11 或更高版本。如果没有,请从 Nodejs.org 网站
下载并安装 Node.js。
使用 Node.js 连接到 Neptune
-
输入以下命令以安装
gremlin-javascript程序包:npm install gremlin -
创建名为
gremlinexample.js的文件并在文本编辑器中打开它。 -
将以下内容复制到
gremlinexample.js文件中。your-neptune-endpoint替换为您的 Neptune 数据库实例的地址。有关查找 Neptune 数据库实例的地址的信息,请参阅连接到 Amazon Neptune 端点部分。
const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const Graph = gremlin.structure.Graph; dc = new DriverRemoteConnection('wss://your-neptune-endpoint:8182/gremlin',{}); const graph = new Graph(); const g = graph.traversal().withRemote(dc); g.V().limit(1).count().next(). then(data => { console.log(data); dc.close(); }).catch(error => { console.log('ERROR', error); dc.close(); }); -
输入以下命令以运行示例:
node gremlinexample.js
上述示例通过使用 g.V().limit(1).count().next() 遍历返回图形中的单个顶点的计数。要查询其他内容,请将其替换为具有其中一种适当的结尾方法的其他 Gremlin 遍历。
注意
要将遍历提交到服务器进行评估,需要 Gremlin 查询的最后一部分 next()。如果您未包含该方法或其它等效方法,该查询将不会提交到 Neptune 数据库实例。
以下方法将查询提交到 Neptune 数据库实例:
toList()toSet()next()nextTraverser()iterate()
如果您需要序列化并返回查询结果,请使用 next(),否则请使用 iterate()。
重要
这是独立的 Node.js 示例。如果您计划在 AWS Lambda 函数中运行这样的代码,请参阅Lambda 函数示例,了解有关在 Neptune Lambda 函数中 JavaScript 高效使用的详细信息。