本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Python 连接到 Neptune 数据库实例
重要
选择正确的 Apache TinkerPop Gremlin 驱动程序版本对于与你的 Neptune 引擎版本兼容至关重要。使用不兼容的版本可能会导致连接失败或意外行为。有关版本兼容性的详细信息,请参阅使用 Gremlin 访问 Neptune 图形。
以下部分将指导您完成 Python 示例的运行,该示例连接到 Amazon Neptune 数据库实例并执行 Gremlin 遍历。
必须从与您的 Neptune 数据库实例位于同一虚拟私有云 (VPC) 中的 Amazon EC2 实例中按照这些说明操作。
开始之前,请执行以下操作:
从 Python.org 网站
下载并安装 Python 3.6 或更高版本。 验证您是否安装了 pip。如果您没有 pip 或不确定是否有,请参阅 pip 文档中的是否需要安装 pip?
。 如果您的 Python 安装尚未具有该命令,请按如下方式下载
futures:pip install futures
使用 Python 连接到 Neptune
-
输入以下命令以安装
gremlinpython程序包:pip install --user gremlinpython -
创建名为
gremlinexample.py的文件,然后在文本编辑器中打开它。 -
将以下内容复制到
gremlinexample.py文件中。your-neptune-endpoint替换为 Neptune 数据库集群的地址和your-neptune-portNeptune 数据库集群的端口(默认值:8182)。有关查找 Neptune 数据库实例的地址的信息,请参阅连接到 Amazon Neptune 端点部分。
下面的示例演示了如何与 Gremlin Python 进行连接。
import boto3 import os from botocore.auth import SigV4Auth from botocore.awsrequest import AWSRequest from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection from gremlin_python.process.anonymous_traversal import traversal database_url = "wss://your-neptune-endpoint:your-neptune-port/gremlin" remoteConn = DriverRemoteConnection(database_url, "g") g = traversal().withRemote(remoteConn) print(g.inject(1).toList()) remoteConn.close() -
输入以下命令以运行示例:
python gremlinexample.py此示例结尾处的 Gremlin 查询将返回列表中的顶点 (
g.V().limit(2))。然后,此列表使用标准 Pythonprint函数输出。注意
要将遍历提交到服务器进行评估,需要 Gremlin 查询的最后一部分
toList()。如果您未包含该方法或其它等效方法,该查询将不会提交到 Neptune 数据库实例。以下方法将查询提交到 Neptune 数据库实例:
toList()toSet()next()nextTraverser()iterate()
上述示例通过使用
g.V().limit(2).toList()遍历返回图形中的前两个顶点。要查询其他内容,请将其替换为具有其中一种适当的结尾方法的其他 Gremlin 遍历。
IAM 身份验证
Neptune 支持 IAM 身份验证来控制对数据库集群的访问。如果您启用了 IAM 身份验证,则需要使用签名版本 4 签名来验证您的请求。有关从 Python 客户端进行连接的详细说明和代码示例,请参阅通过 Gremlin Python 使用 IAM 身份验证连接到 Amazon Neptune 数据库。