翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 に接続するには
-
gremlinpythonパッケージをインストールするには、次のように入力します。pip install --user gremlinpython -
gremlinexample.pyという名前のファイルを作成して、テキストエディタで開きます。 -
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() -
サンプルを実行するには、次のコマンドを入力します。
python gremlinexample.pyこの例の最後にある Gremlin クエリは、リストの頂点 (
g.V().limit(2)) を返します。次に、このリストは標準の Pythonprint関数で表示されます。注記
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 データベースへの接続。