翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: Neptune DB インスタンスにデータをロードする
この例では、Amazon Neptune にデータをロードする方法を示しています。特に明記されていない限り、Neptune DB インスタンスと同じ Amazon Virtual Private Cloud (EC2) 内の Amazon Elastic Compute Cloud (Amazon VPC) インスタンスから、以下のステップに従う必要があります。 Amazon Virtual Private Cloud
データをロードする例の前提条件
始めるには以下のものが必要です。
-
Neptune DB インスタンス。
Neptune DB インスタンスの起動方法についての詳細は、Amazon Neptune クラスターの作成 を参照してください。
-
データファイルを入れる Amazon Simple Storage Service (Amazon S3) バケット。
既存のバケットを使用することもできます。S3 バケットがない場合は、Amazon S3 入門ガイドのバケットの作成を参照してください。
-
ロードするグラフデータ (Neptune ローダーでサポートされている形式のいずれか):
グラフのクエリに Gremlin を使用している場合、Neptune は で説明されているように (
CSV
) 形式でデータを comma-separated-valuesロードできますGremlin ロードデータ形式。を使用してグラフ openCypher をクエリする場合、Neptune は、「」で説明されているように、 openCypher固有の
CSV
形式でデータをロードすることもできます openCypher データのロード形式。を使用している場合SPARQL、Neptune は で説明されているように、さまざまなRDF形式でデータをロードできますRDF データ形式のロード。
-
Neptune DB インスタンスが に S3 バケット内のデータファイルへのアクセスを許可するIAMポリシーがあると想定するIAMロール。このポリシーが読み取りとリストアクセス許可を付与する必要があります。
Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、前提条件: IAMロールと Amazon S3 アクセス を参照してください。
注記
Neptune は、データファイルへの読み取りアクセスのみ
Load
APIを必要とします。このIAMポリシーでは、バケット全体への書き込みアクセスまたはアクセスを許可する必要はありません。 Amazon S3 VPCエンドポイント。詳細については、「Amazon S3 VPCエンドポイントの作成」セクションを参照してください。
Amazon S3 VPCエンドポイントの作成
Neptune ローダーには Amazon S3 用のVPCエンドポイントが必要です。
Amazon S3 のアクセスをセットアップするには
にサインイン AWS Management Console し、 で Amazon VPCコンソールを開きますhttps://console.aws.amazon.com/vpc/
。 左のナビゲーションペインで [エンドポイント] を選択します。
[エンドポイントの作成] を選択します。
-
[Service Name] (サービス名)
com.amazonaws.
を選択します。region
.s3注記
このリージョンが正しくない場合は、コンソールのリージョンが正しいことを確認してください。
Neptune DB インスタンスVPCを含む を選択します。
クラスターに関連するサブネットに関連付けられているルートテーブルの横にあるチェックボックスをオンにします。ルートテーブルが 1 つだけの場合は、そのボックスを選択する必要があります。
[エンドポイントの作成] を選択します。
エンドポイントの作成の詳細については、「Amazon VPCユーザーガイド」のVPC「エンドポイント」を参照してください。VPC エンドポイントの制限の詳細については、VPCEndpoints for Amazon S3 を参照してください。
Neptune DB インスタンスにデータをロードするには
-
データファイルを Amazon S3 バケットにコピーします。S3 バケットは、データをロードするクラスターと同じ AWS リージョンにある必要があります。
次の AWS CLI コマンドを使用して、ファイルをバケットにコピーできます。
注記
このコマンドは Amazon EC2インスタンスから実行する必要はありません。
aws s3 cp
data-file-name
s3://bucket-name
/object-key-name
注記
Amazon S3 で、オブジェクトキー名は、ファイル名を含むファイルの完全なパスです。
例: コマンド
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt
では、オブジェクトキー名はmydirectory/datafile.txt
です。または、 AWS Management Console を使用して S3 バケットにファイルをアップロードすることもできます。で Amazon S3 コンソールを開きhttps://console.aws.amazon.com/s3/
、バケットを選択します。左上隅の [Upload] (アップロード) を選択して、ファイルをアップロードします。 -
コマンドラインウィンドウから、エンドポイント、Amazon S3 パス、形式、IAMロール に正しい値を使用して、Neptune ローダーを実行するには、以下を入力しますARN。
format
パラメータは、Gremlincsv
の場合は 、、opencypher
の場合は openCypher、、ntriples
nquads
turtle
rdfxml
の場合は のいずれかの値にすることができますRDF。他のパラメータについての詳細は、「Neptune ローダーコマンド」を参照してください。Neptune DB インスタンスのホスト名を見つける方法については、Amazon Neptune エンドポイントに接続する セクションを参照してください。
region パラメータの値はクラスターおよび S3 バケットのリージョンと一致する必要があります。
Amazon Neptune は、次の AWS リージョンで使用できます。
米国東部 (バージニア北部):
us-east-1
米国東部 (オハイオ):
us-east-2
米国西部 (北カリフォルニア):
us-west-1
米国西部 (オレゴン):
us-west-2
カナダ (中部):
ca-central-1
南米 (サンパウロ):
sa-east-1
欧州 (ストックホルム):
eu-north-1
欧州 (スペイン):
eu-south-2
欧州 (アイルランド):
eu-west-1
欧州 (ロンドン):
eu-west-2
欧州 (パリ):
eu-west-3
欧州 (フランクフルト):
eu-central-1
中東 (バーレーン):
me-south-1
中東 (UAE):
me-central-1
イスラエル (テルアビブ):
il-central-1
アフリカ (ケープタウン):
af-south-1
アジアパシフィック (香港):
ap-east-1
アジアパシフィック (東京):
ap-northeast-1
アジアパシフィック (ソウル):
ap-northeast-2
アジアパシフィック (大阪):
ap-northeast-3
アジアパシフィック (シンガポール):
ap-southeast-1
アジアパシフィック (シドニー):
ap-southeast-2
アジアパシフィック (ジャカルタ):
ap-southeast-3
アジアパシフィック (ムンバイ):
ap-south-1
中国 (北京):
cn-north-1
中国 (寧夏):
cn-northwest-1
AWS GovCloud (米国西部):
us-gov-west-1
AWS GovCloud (米国東部):
us-gov-east-1
curl -X POST \ -H 'Content-Type: application/json' \ https://
your-neptune-endpoint
:port
/loader -d ' { "source" : "s3://bucket-name
/object-key-name
", "format" : "format
", "iamRoleArn" : "arn:aws:iam::account-id
:role/role-name
", "region" : "region
", "failOnError" : "FALSE", "parallelism" : "MEDIUM", "updateSingleCardinalityProperties" : "FALSE", "queueRequest" : "TRUE", "dependencies" : ["load_A_id", "load_B_id"
] }'IAM ロールの作成と Neptune クラスターとの関連付けについては、「」を参照してください前提条件: IAMロールと Amazon S3 アクセス。
注記
ロードリクエストパラメータの詳細については、Neptune ローダーのリクエストパラメータ を参照してください。概要:
source
パラメータは、単一のファイルまたはフォルダURIを指す Amazon S3 を受け入れます。フォルダを指定すると、Neptune はフォルダ内のすべてのデータファイルをロードします。フォルダには複数の頂点ファイルおよび複数のエッジファイルが含まれている場合があります。
は、次のいずれかの形式URIにすることができます。
s3://
bucket_name
/object-key-name
https://s3.amazonaws.com/
bucket_name
/object-key-name
https://s3-us-east-1.amazonaws.com/
bucket_name
/object-key-name
この
format
パラメータは、次のいずれかになります。Gremlin プロパティグラフの Gremlin CSV形式 (
csv
)openCypher CSV openCypher プロパティグラフの形式 (
opencypher
)/ の N -Triples (
ntriples
) RDF 形式 SPARQL/ の N-Quads (
nquads
) RDF 形式 SPARQLRDF/XML の / (
rdfxml
) RDF 形式 SPARQL/ のタートル (
turtle
) RDF 形式 SPARQL
オプションの
parallelism
パラメータを使用すると、バルクロードプロセスで使用されるスレッドの数を制限できます。LOW
、MEDIUM
、HIGH
、またはOVERSUBSCRIBE
に設定できます。updateSingleCardinalityProperties
を"FALSE"
に設定すると、エッジまたは単一カーディナリティ頂点プロパティにロードされているソースファイルに複数の値が指定されている場合、ローダーはエラーを返します。queueRequest
を"TRUE"
に設定すると、ロードジョブがすでに実行されている場合、キューにロードリクエストが配置されます。dependencies
パラメータは、すでにキューに配置されている 1 つ以上のロードジョブが正常に完了した場合に、ロードリクエストを実行します。 -
Neptune ローダーは、ステータスを確認したり、ロードプロセスをキャンセルしたりできるジョブ
id
を返します。{ "status" : "200 OK", "payload" : { "loadId" : "
ef478d76-d9da-4d94-8ff1-08d9d4863aa5
" } } -
ステップ 3 の
loadId
でロードのステータスを取得するには、次のように入力します。curl -G 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'ロードのステータスにエラーが表示されている場合は、より詳細なステータスとエラーのリストをリクエストできます。詳細な説明と例については、「Neptune Loader の Get-Status API」を参照してください。
-
(オプション)
Load
ジョブをキャンセルします。ステップ 3 のジョブからの
id
とともに、次のDelete
をローダージョブに入力します。curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'DELETE
コマンドは、キャンセルが成功200 OK
するとHTTPコードを返します。ロードが完了したロードジョブのファイルからのデータはロールバックされません。データは Neptune DB インスタンスに残ります。