翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: Neptune DB インスタンスにデータをロードする
この例では、Amazon Neptune にデータをロードする方法を示しています。別途指定されていない限り、Neptune DB インスタンスと同じ Amazon Virtual Private Cloud (VPC) の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからの手順に従います。
データをロードする例の前提条件
始めるには以下のものが必要です。
-
Neptune DB インスタンス。
Neptune DB インスタンスの起動方法についての詳細は、Amazon Neptune クラスターの作成 を参照してください。
-
データファイルを入れる Amazon Simple Storage Service (Amazon S3) バケット。
既存のバケットを使用することもできます。S3 バケットがない場合は、Amazon S3 入門ガイドのバケットの作成を参照してください。
-
ロードするグラフデータ (Neptune ローダーでサポートされている形式のいずれか):
Gremlin を使用してグラフのクエリを実行している場合、Neptune では、Gremlin ロードデータ形式 の説明に従って、カンマ区切り値 (
CSV) 形式でデータをロードできます。openCypher を使用してグラフのクエリを実行している場合、Neptune では、openCypher データのロード形式 の説明に従って、openCypher 固有の
CSV形式でデータをロードすることもできます。SPARQL を使用している場合、Neptune は多くの RDF 形式でデータをロードできます (RDF ロードデータ形式 を参照)。
-
S3 バケット内のデータファイルへのアクセスを許可する IAM ポリシーが設定されている Neptune DB インスタンスの IAM ロール。このポリシーが読み取りとリストアクセス許可を付与する必要があります。
Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、前提条件: IAM ロールと Amazon S3 アクセス を参照してください。
注記
Neptune
LoadAPI はデータファイルへの読み取りアクセスが必要です。IAM ポリシーに書き込みアクセスまたはバケット全体へのアクセスを許可する必要はありません。 Amazon S3 VPC エンドポイント 詳細については「Amazon S3 VPC エンドポイントの作成」セクションを参照してください。
Amazon S3 VPC エンドポイントの作成
Neptune ローダーには Amazon S3 の VPC エンドポイントが必要です。
Amazon S3 のアクセスをセットアップするには
にサインイン AWS マネジメントコンソール し、https://console.aws.amazon.com/vpc/
で Amazon VPC コンソールを開きます。 左のナビゲーションペインで [エンドポイント] を選択してください。
[エンドポイントの作成] を選択します。
-
[Service Name] (サービス名)
com.amazonaws.を選択します。region.s3注記
このリージョンが正しくない場合は、コンソールのリージョンが正しいことを確認してください。
[VPC] で、Neptune DB インスタンスが含まれている VPC を選択します。
クラスターに関連するサブネットに関連付けられているルートテーブルの横にあるチェックボックスをオンにします。ルートテーブルが 1 つだけの場合は、そのボックスを選択する必要があります。
[エンドポイントの作成] を選択します。
エンドポイント作成の詳細については、Amazon VPC ユーザーガイドの VPC エンドポイントを参照してください。VPC エンドポイントの制限については、Amazon S3 の VPC エンドポイントを参照してください。
Neptune DB インスタンスにデータをロードするには
-
データファイルを Amazon S3 バケットにコピーします。S3 バケットは、データをロードするクラスターと同じ AWS リージョンに存在する必要があります。
次の AWS CLI コマンドを使用して、ファイルをバケットにコピーできます。
注記
このコマンドは、Amazon EC2 インスタンスから実行する必要はありません。
aws s3 cpdata-file-names3://bucket-name/object-key-name注記
Amazon S3 で、オブジェクトキー名は、ファイル名を含むファイルの完全なパスです。
例: コマンド
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txtでは、オブジェクトキー名はmydirectory/datafile.txtです。または、 を使用して AWS マネジメントコンソール S3 バケットにファイルをアップロードすることもできます。Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きバケットを選択ます。左上隅の [Upload] (アップロード) を選択して、ファイルをアップロードします。 -
コマンドラインウィンドウから次のように入力し、エンドポイント、Amazon S3 パス、フォーマット、IAM ロール ARN の正しい値を使用して Neptune ローダーを実行します。
formatパラメータには、Gremlin の場合はcsv、openCypher の場合はopencypher、または RDF の場合はntriples、nquads、turtle、およびrdfxmlのいずれかの値を指定できます。他のパラメータについての詳細は、「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カナダ西部 (カルガリー):
ca-west-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中東 (アラブ首長国連邦):
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-southeast-4アジアパシフィック (マレーシア):
ap-southeast-5アジアパシフィック (ムンバイ):
ap-south-1中国 (北京):
cn-north-1中国 (寧夏):
cn-northwest-1AWS GovCloud (米国西部):
us-gov-west-1AWS 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"] }'Neptune クラスターへの IAM ロールの作成と関連付けの詳細については、前提条件: IAM ロールと Amazon S3 アクセス を参照してください。
注記
ロードリクエストパラメータの詳細については、Neptune ローダーのリクエストパラメータ を参照してください。概要:
sourceパラメータは、単一のファイルまたはフォルダを指す Amazon S3 URl を受け取ります。フォルダを指定すると、Neptune はフォルダ内のすべてのデータファイルをロードします。フォルダには複数の頂点ファイルおよび複数のエッジファイルが含まれている場合があります。
URI は、以下の形式のいずれかになります。
s3://bucket_name/object-key-namehttps://s3.amazonaws.com/bucket_name/object-key-namehttps://s3-us-east-1.amazonaws.com/bucket_name/object-key-name
この
formatパラメータは、次のいずれかになります。Gremlin プロパティグラフの Gremlin CSV 形式 (
csv)openCypher プロパティグラフの openCypher CSV 形式 (
opencypher)RDF の N -Triples (
ntriples) 形式 / SPARQLRDF の N-Quads (
nquads) 形式 / SPARQLRDF の RDF/XML (
rdfxml) 形式 / SPARQLRDF の Turtle (
turtle) 形式 / 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コマンドを使用すると、キャンセルが成功したときに HTTP コード200 OKが返されます。ロードが完了したロードジョブのファイルからのデータはロールバックされません。データは Neptune DB インスタンスに残ります。