

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

# 例: Neptune DB インスタンスにデータをロードする
<a name="bulk-load-data"></a>

この例では、Amazon Neptune にデータをロードする方法を示しています。別途指定されていない限り、Neptune DB インスタンスと同じ Amazon Virtual Private Cloud (VPC) の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスからの手順に従います。

## データをロードする例の前提条件
<a name="bulk-load-tutorial-prereqs"></a>

始めるには以下のものが必要です。
+ Neptune DB インスタンス。

  Neptune DB インスタンスの起動方法についての詳細は、[Amazon Neptune クラスターの作成](get-started-create-cluster.md) を参照してください。
+ データファイルを入れる Amazon Simple Storage Service (Amazon S3) バケット。

  既存のバケットを使用することもできます。S3 バケットがない場合は、*[Amazon S3 入門ガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*の[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html)を参照してください。
+ ロードするグラフデータ (Neptune ローダーでサポートされている形式のいずれか):

  Gremlin を使用してグラフのクエリを実行している場合、Neptune では、[Gremlin ロードデータ形式](bulk-load-tutorial-format-gremlin.md) の説明に従って、カンマ区切り値 (`CSV`) 形式でデータをロードできます。

  openCypher を使用してグラフのクエリを実行している場合、Neptune では、[openCypher データのロード形式](bulk-load-tutorial-format-opencypher.md) の説明に従って、openCypher 固有の `CSV` 形式でデータをロードすることもできます。

  SPARQL を使用している場合、Neptune は多くの RDF 形式でデータをロードできます ([RDF ロードデータ形式](bulk-load-tutorial-format-rdf.md) を参照)。
+ S3 バケット内のデータファイルへのアクセスを許可する IAM ポリシーが設定されている Neptune DB インスタンスの IAM ロール。このポリシーが読み取りとリストアクセス許可を付与する必要があります。

   Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、[前提条件: IAM ロールと Amazon S3 アクセス](bulk-load-tutorial-IAM.md) を参照してください。
**注記**  
Neptune `Load` API はデータファイルへの読み取りアクセスが必要です。IAM ポリシーに書き込みアクセスまたはバケット全体へのアクセスを許可する必要はありません。
+ Amazon S3 VPC エンドポイント 詳細については「[Amazon S3 VPC エンドポイントの作成](#bulk-load-prereqs-s3)」セクションを参照してください。

### Amazon S3 VPC エンドポイントの作成
<a name="bulk-load-prereqs-s3"></a>

Neptune ローダーには Amazon S3 の VPC エンドポイントが必要です。

**Amazon S3 のアクセスをセットアップするには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) で Amazon VPC コンソールを開きます。

1. 左のナビゲーションペインで [**エンドポイント**] を選択してください。

1. **エンドポイントの作成** を選択します。

1. [**Service Name**] (サービス名) `com.amazonaws.region.s3` を選択します。
**注記**  
このリージョンが正しくない場合は、コンソールのリージョンが正しいことを確認してください。

1. [VPC] で、Neptune DB インスタンスが含まれている VPC を選択します。

1. クラスターに関連するサブネットに関連付けられているルートテーブルの横にあるチェックボックスをオンにします。ルートテーブルが 1 つだけの場合は、そのボックスを選択する必要があります。

1. **エンドポイントの作成** を選択します。

エンドポイント作成の詳細については、*Amazon VPC ユーザーガイド*の [VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html#create-vpc-endpoint)を参照してください。VPC エンドポイントの制限については、[Amazon S3 の VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)を参照してください。

**Neptune DB インスタンスにデータをロードするには**

1. データファイルを 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 マネジメントコンソール S3 バケットにファイルをアップロードすることもできます。Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きバケットを選択ます。左上隅の [**Upload**] (アップロード) を選択して、ファイルをアップロードします。

1. コマンドラインウィンドウから次のように入力し、エンドポイント、Amazon S3 パス、フォーマット、IAM ロール ARN の正しい値を使用して Neptune ローダーを実行します。

   `format` パラメータには、Gremlin の場合は `csv`、openCypher の場合は `opencypher`、または RDF の場合は `ntriples`、`nquads`、`turtle`、および `rdfxml` のいずれかの値を指定できます。他のパラメータについての詳細は、「[Neptune ローダーコマンド](load-api-reference-load.md)」を参照してください。

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

   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`
   + アジアパシフィック (ハイデラバード):   `ap-south-2`
   + 中国 (北京): `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"]
       }'
   ```

   Neptune クラスターへの IAM ロールの作成と関連付けの詳細については、[前提条件: IAM ロールと Amazon S3 アクセス](bulk-load-tutorial-IAM.md) を参照してください。
**注記**  
ロードリクエストパラメータの詳細については、[Neptune ローダーのリクエストパラメータ](load-api-reference-load.md#load-api-reference-load-parameters) を参照してください。概要:  
`source` パラメータは、単一のファイルまたはフォルダを指す Amazon S3 URl を受け取ります。フォルダを指定すると、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 プロパティグラフの openCypher CSV 形式 (`opencypher`)
RDF の N -Triples (`ntriples`) 形式 / SPARQL
RDF の N-Quads (`nquads`) 形式 / SPARQL
RDF の RDF/XML (`rdfxml`) 形式 / SPARQL
RDF の Turtle (`turtle`) 形式 / SPARQL
オプションの `parallelism` パラメータを使用すると、バルクロードプロセスで使用されるスレッドの数を制限できます。`LOW`、`MEDIUM`、`HIGH`、または `OVERSUBSCRIBE` に設定できます。  
`updateSingleCardinalityProperties` を `"FALSE"` に設定すると、エッジまたは単一カーディナリティ頂点プロパティにロードされているソースファイルに複数の値が指定されている場合、ローダーはエラーを返します。  
`queueRequest` を `"TRUE"` に設定すると、ロードジョブが既に実行されている場合、キューにロードリクエストが配置されます。  
`dependencies` パラメータは、既にキューに配置されている 1 つ以上のロードジョブが正常に完了した場合に、ロードリクエストを実行します。

1. Neptune ローダーは、ステータスを確認したり、ロードプロセスをキャンセルしたりできるジョブ `id` を返します。

   ```
   {
       "status" : "200 OK",
       "payload" : {
           "loadId" : "ef478d76-d9da-4d94-8ff1-08d9d4863aa5"
       }
   }
   ```

1. **ステップ 3** の `loadId` でロードのステータスを取得するには、次のように入力します。

   ```
   curl -G 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'
   ```

   ロードのステータスにエラーが表示されている場合は、より詳細なステータスとエラーのリストをリクエストできます。詳細な説明と例については、[Neptune Loader Get-Status API](load-api-reference-status.md) を参照してください。

1. (オプション) `Load` ジョブをキャンセルします。

   **ステップ 3 ** のジョブからの `id` とともに、次の `Delete` をローダージョブに入力します。

   ```
   curl -X DELETE 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'
   ```

   この `DELETE` コマンドを使用すると、キャンセルが成功したときに HTTP コード `200 OK` が返されます。

   ロードが完了したロードジョブのファイルからのデータはロールバックされません。データは Neptune DB インスタンスに残ります。