使用 Python 连接到 Neptune 数据库实例 - Amazon Neptune

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 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 安装尚未具有该命令,请按如下方式下载 futurespip install futures

使用 Python 连接到 Neptune
  1. 输入以下命令以安装 gremlinpython 程序包:

    pip install --user gremlinpython
  2. 创建名为 gremlinexample.py 的文件,然后在文本编辑器中打开它。

  3. 将以下内容复制到 gremlinexample.py 文件中。your-neptune-endpoint替换为 Neptune 数据库集群的地址和 your-neptune-port Neptune 数据库集群的端口(默认值: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()
  4. 输入以下命令以运行示例:

    python gremlinexample.py

    此示例结尾处的 Gremlin 查询将返回列表中的顶点 (g.V().limit(2))。然后,此列表使用标准 Python print 函数输出。

    注意

    要将遍历提交到服务器进行评估,需要 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 数据库