Python を使用して Neptune DB インスタンスに接続する - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Python を使用して Neptune DB インスタンスに接続する

重要

Neptune エンジンバージョンとの互換性を保つには、正しい Apache TinkerPop Gremlin ドライバーバージョンを選択することが重要です。互換性のないバージョンを使用すると、接続の失敗や予期しない動作が発生する可能性があります。バージョンの互換性の詳細については、「」を参照してくださいGremlin を使用した Neptune グラフへのアクセス

次のセクションでは、Amazon Neptune DB インスタンスに接続し、Gremlin トラバーサルを実施する Python サンプル実行方法について説明します。

Neptune DB インスタンスと同じ仮想プライベートクラウド (VPC) の Amazon EC2 インスタンスからこれらの手順を実行してください。

開始する前に、以下を実行します。

  • Python.org ウェブサイトから Python 3.6 以降をダウンロードしてインストールします。

  • pip がインストールされていることを確認します。pip がインストールされていないか、または不明な場合は、pip ドキュメンテーション内のpip をインストールする必要がありますか?を参照してください。

  • Python のインストールにない場合は、次に示すように futures をダウンロードします。pip install futures

Python を使用して Neptune に接続するには
  1. gremlinpython パッケージをインストールするには、次のように入力します。

    pip install --user gremlinpython
  2. gremlinexample.py という名前のファイルを作成して、テキストエディタで開きます。

  3. gremlinexample.py ファイルに次の内容をコピーします。your-neptune-endpoint を Neptune DB クラスターのアドレスに、your-neptune-port を Neptune DB クラスターのポート (デフォルト: 8182) に置き換えます。

    Neptune DB インスタンスのアドレスを見つける方法については、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 DB インスタンスに送信されません。

    以下のメソッドは Neptune DB インスタンスにクエリを送信します。

    • toList()

    • toSet()

    • next()

    • nextTraverser()

    • iterate()

    前述の例では、g.V().limit(2).toList() トラバーサルを使用してグラフの最初の 2 つの頂点を返します。その他の対象にクエリを実行するには、いずれかの適切な終了メソッドを持つ Gremlin トラバーサルで置き換えます。

IAM 認証

Neptune は、DB クラスターへのアクセスを制御するための IAM 認証をサポートしています。IAM 認証が有効になっている場合は、署名バージョン 4 の署名を使用してリクエストを認証する必要があります。Python クライアントから接続するための詳細な手順とコード例については、「」を参照してくださいGremlin Python による IAM 認証を使用した Amazon Neptune データベースへの接続