

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

# Python を使用して Neptune DB インスタンスに接続する
<a name="access-graph-gremlin-python"></a>

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

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

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

開始する前に、以下を実行します。
+ [Python.org ウェブサイト](https://www.python.org/downloads/)から Python 3.6 以降をダウンロードしてインストールします。
+ **pip** がインストールされていることを確認します。**pip** がインストールされていないか、または不明な場合は、**pip** ドキュメンテーション内の[pip をインストールする必要がありますか?](https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip)を参照してください。
+ Python のインストールにない場合は、次に示すように `futures` をダウンロードします。`pip install futures`



**Python を使用して Neptune に接続するには**

1. `gremlinpython` パッケージをインストールするには、次のように入力します。

   ```
   pip install --user gremlinpython
   ```

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

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

   Neptune DB インスタンスのアドレスを見つける方法については、[Amazon Neptune エンドポイントに接続する](feature-overview-endpoints.md) セクションを参照してください。

    以下の例は、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()
   ```

1. サンプルを実行するには、次のコマンドを入力します。

   ```
   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 認証
<a name="access-graph-gremlin-python-iam"></a>

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