View a markdown version of this page

コマンドラインツールを使用して Amazon Neptune にアクセスする - Amazon Neptune

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

コマンドラインツールを使用して Amazon Neptune にアクセスする

AWS CLI、 AWS SDKs、および curlや などの HTTP ツールを使用してawscurl、Neptune DB クラスターにクエリを送信できます。以下のセクションでは、各ツールをセットアップし、基本的な Gremlin クエリと openCypher クエリを実行する方法を示します。

の使用 AWS CLI

aws neptunedata コマンドを使用すると、Gremlin および openCypher クエリの実行、エンジンのステータスの確認、一括ロードの管理などを行うことができます。コマンドの完全なリファレンスについては、「 コマンドリファレンスneptunedata」の AWS CLI 「」を参照してください。

次の例は、基本的なクエリを実行する方法を示しています。

Gremlin
aws neptunedata execute-gremlin-query \ --endpoint-url https://your-neptune-endpoint:port \ --region us-east-1 \ --gremlin-query "g.V().limit(1)"

詳細については、 AWS CLI 「 コマンドリファレンス」のexecute-gremlin-query」を参照してください。

openCypher
aws neptunedata execute-open-cypher-query \ --endpoint-url https://your-neptune-endpoint:port \ --region us-east-1 \ --open-cypher-query "MATCH (n) RETURN n LIMIT 1"

詳細については、 コマンドリファレンスの execute-open-cypher-query AWS CLI を参照してください。

AWS SDK の使用

AWS SDKs を介して Neptune Data API を使用して、プログラムでクエリを実行できます。次の Python の例は、基本的なクエリを実行する方法を示しています。

Gremlin
import boto3 import json from botocore.config import Config # Disable the client-side read timeout and retries so that # Neptune's server-side neptune_query_timeout controls query duration. client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.execute_gremlin_query( gremlinQuery='g.V().limit(1)', serializer='application/vnd.gremlin-v3.0+json;types=false' ) print(json.dumps(response['result'], indent=2))

他の言語の AWS SDK の例については、「」を参照してくださいAWS SDK

openCypher
import boto3 import json from botocore.config import Config # Disable the client-side read timeout and retries so that # Neptune's server-side neptune_query_timeout controls query duration. client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.execute_open_cypher_query( openCypherQuery='MATCH (n) RETURN n LIMIT 1' ) print(json.dumps(response['results'], indent=2))

他の言語の AWS SDK の例については、「」を参照してくださいAWS SDK

curl および awscurl を使用する

curl コマンドラインツールは、HTTP リクエストを Neptune エンドポイントに直接送信します。IAM 認証が有効になっている場合は、awscurl または curl 7.75.0+ と --aws-sigv4オプションを使用してリクエストに署名します。詳細については、「一時的な認証情報で awscurl を使用して、IAM 認証が有効になっている DB クラスターに安全に接続する」を参照してください。

HTTPS curlのセットアップ

(Neptune がほとんどのリージョンで必要とするように) HTTPS を使用して接続するには、 が適切な証明書にアクセスcurlする必要があります。証明書を取得して認証機関 (CA) ストアにフォーマットする方法については、 curlドキュメントの「SSL 証明書の検証」を参照してください。

CURL_CA_BUNDLE 環境変数を使用して、この CA 証明書ストアの場所を指定できます。Windows では、curl は自動的に curl-ca-bundle.crt という名前のファイルを検索します。まず curl.exe と同じディレクトリで curl.exe を検索し、次にこのパスの他の場所を検索します。詳細については、「SSL Certificate Verification」を参照してください。

curl が適切な証明書を見つけられる限り、これによって、別のパラメータを必要とすることなく、HTTP 接続のように HTTPS 接続が処理されます。このドキュメントの例はこのシナリオに基づいています。

ツールの詳細については、「curl man」ページ「Everything curl」を参照してください。

クエリの例

次の例は、 curlと を使用して基本的なクエリを実行する方法を示していますawscurl

Gremlin (awscurl)
awscurl https://your-neptune-endpoint:port/gremlin \ --region us-east-1 \ --service neptune-db \ -X POST \ -d '{"gremlin":"g.V().limit(1)"}'
Gremlin (curl)
curl -X POST \ -d '{"gremlin":"g.V().limit(1)"}' \ https://your-neptune-endpoint:port/gremlin
注記

プレーンは、クラスターで IAM 認証が有効になっていない場合にのみcurl機能します。

openCypher (awscurl)
awscurl https://your-neptune-endpoint:port/openCypher \ --region us-east-1 \ --service neptune-db \ -X POST \ -d "query=MATCH (n) RETURN n LIMIT 1"
openCypher (curl)
curl -X POST \ -d "query=MATCH (n) RETURN n LIMIT 1" \ https://your-neptune-endpoint:port/openCypher
注記

プレーンは、クラスターで IAM 認証が有効になっていない場合にのみcurl機能します。

Gremlin HTTP のその他の例については、「」を参照してくださいHTTPS REST。openCypher HTTP のその他の例については、「」を参照してくださいHTTP エンドポイント