翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Neptune ローダーコマンド
Amazon S3 バケットから Neptune DB インスタンスにデータをロードします。
データをロードするには、https://
エンドポイントにHTTPyour-neptune-endpoint
:port
/loaderPOST
リクエストを送信する必要があります。loader
リクエストのパラメータは、POST
本文またはURLエンコードされたパラメータとして送信できます。
重要
MIME タイプは である必要がありますapplication/json
。
S3 バケットは、クラスターと同じ AWS リージョンにある必要があります。
注記
Amazon S3 SSE-S3
モードを使用して暗号化されている場合は、Amazon S3 から暗号化されたデータを読み込むことができます。その場合、Neptune はユーザーの認証情報を偽装し、ユーザーに代わって s3:getObject
呼び出しを発行することができます。
IAM ロールに へのアクセスに必要なアクセス許可が含まれている限り、 SSE-KMS
を使用して暗号化された Amazon S3 から暗号化されたデータをロードすることもできます AWS KMS。適切な AWS KMS アクセス許可がない場合、一括ロードオペレーションは失敗し、LOAD_FAILED
レスポンスを返します。
Neptune は現在 SSE-C
モードを使用して暗号化された Amazon S3 データのロードをサポートしていません。
別のジョブを開始する前に、1 つのロードジョブが完了するのを待つ必要はありません。Neptune は、queueRequest
パラメータがすべて "TRUE"
に設定されている場合、一度に最大 64 個のロードリクエストをキューに入れることができます。ジョブのキュー順序は () になります first-in-first-outFIFO。一方、ロードジョブをキューに入れたくない場合は、queueRequest
パラメータを "FALSE"
(デフォルト) に設定して、別のジョブがすでに進行中の場合にロードジョブが失敗するようにできます。
dependencies
パラメータを使用して、キュー内で指定した以前のジョブが正常に完了した場合にのみ実行するジョブをキューに入れることができます。その場合、指定したジョブのいずれかが失敗すると、ジョブは実行されず、ステータスは LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
に設定されます。
Neptune ローダーリクエストの構文
{ "source" : "
string
", "format" : "string
", "iamRoleArn" : "string
", "mode": "NEW|RESUME|AUTO
", "region" : "us-east-1
", "failOnError" : "string
", "parallelism" : "string
", "parserConfiguration" : { "baseUri" : "http://base-uri-string
", "namedGraphUri" : "http://named-graph-string
" }, "updateSingleCardinalityProperties" : "string
", "queueRequest" : "TRUE", "dependencies" : ["load_A_id
", "load_B_id
"] }
Neptune ローダーのリクエストパラメータ
-
source
– Amazon S3 URI。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
の
object-key-name
要素は、Amazon S3 ListObjectsAPI呼び出しのプレフィックスパラメータと同等URIです。これは、名前がそのプレフィックスで始まる指定された Amazon S3 バケット内のすべてのオブジェクトを識別します。これは、単一のファイルまたはフォルダ、または複数のファイルやフォルダにすることができます。特定のフォルダには複数の頂点ファイルおよび複数のエッジファイルが含まれている場合があります。
例えば、 という名前の Amazon S3 バケットに次のフォルダ構造とファイルがある場合です
bucket-name
。s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade s3://bucket-name/bcd
ソースパラメータが として指定されている場合
s3://bucket-name/a
、最初の 3 つのファイルがロードされます。s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade
-
format
- データの形式。NeptuneLoader
コマンドのデータ形式の詳細については、Amazon Neptune バルクローダーを使用してデータを取り込む を参照してください。許可される値
csv
Gremlin CSV データ形式 。opencypher
openCypher CSV データ形式 の場合。ntriples
N-Triples RDF データ形式の場合。 nquads
N-Quads RDF データ形式の場合。 rdfxml
RDF\XML RDF データ形式。 turtle
Turtle RDF データ形式の場合。
-
iamRoleArn
– S3 バケットにアクセスするために Neptune DB インスタンスが引き受けるIAMロールの Amazon リソースネーム (ARN)。Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、前提条件: IAMロールと Amazon S3 アクセス を参照してください。エンジンリリース 1.2.1.0.R3 以降では、Neptune DB インスタンスと Amazon S3 バケットが異なる AWS アカウントにある場合、複数のIAMロールを連鎖させることもできます。この場合、
iamRoleArn
には、「」で説明されているようにARNs、ロール のカンマ区切りリストが含まれていますAmazon Neptune でのIAMロールの連鎖。例:curl -X POST https://localhost:8182/loader \ -H 'Content-Type: application/json' \ -d '{ "source" : "s3://
(the target bucket name)
/(the target date file name)
", "iamRoleArn" : "arn:aws:iam::(Account A ID)
:role/(RoleA)
,arn:aws:iam::(Account B ID)
:role/(RoleB)
,arn:aws:iam::(Account C ID)
:role/(RoleC)
", "format" : "csv", "region" : "us-east-1" }' -
region
–region
パラメータは、クラスターの AWS リージョンと S3 バケットと一致する必要があります。Amazon Neptune は、次のリージョンで利用できます。
米国東部 (バージニア北部):
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
-
mode
- ロードジョブモード。使用できる値:
RESUME
、NEW
、AUTO
。デフォルト値:
AUTO
-
RESUME
– RESUMEモードでは、ローダーはこのソースからの以前のロードを検索し、検出されると、そのロードジョブを再開します。以前のロードジョブが見つからない場合、ローダーは停止します。ローダーは、以前のジョブで正常にロードされたファイルの再ロードを回避します。失敗したファイルの処理のみを試行します。以前にロードしたデータを Neptune クラスターから削除している場合、そのデータはこのモードでは再ロードされません。以前のロードジョブが同じソースからすべてのファイルを正常にロードした場合、何も再ロードされず、ローダーは成功を返します。
NEW
– NEWモードでは、 は以前のロードに関係なく新しいロードリクエストを作成します。このモードを使用して、以前にロードされたデータを Neptune クラスターから削除した後にソースからすべてのデータを再ロードしたり、同じソースから利用可能な新しいデータをロードしたりするために使用できます。-
AUTO
– AUTOモードでは、ローダーは同じソースから以前のロードジョブを検索し、検出された場合、 はRESUME
モードと同様にそのジョブを再開します。ローダーが同じソースから以前のロードジョブを見つけられない場合、
NEW
モードの場合と同様に、ソースからすべてのデータがロードされます。
-
-
failOnError
- エラー時に完全な停止を切り替えるフラグ。使用できる値:
"TRUE"
、"FALSE"
。デフォルト値:
"TRUE"
。このパラメータを
"FALSE"
に設定すると、ローダーは指定された場所のすべてのデータをロードし、エラーのあるエントリはスキップします。このパラメータを
"TRUE"
に設定すると、ローダーはエラー発生時にすぐに停止します。その時点までロードされたデータは保持されます。 -
parallelism
- これは、一括ロードプロセスで使用されるスレッド数を減らすように設定することができるオプションのパラメータです。許可される値:
LOW
– 使用されるスレッドの数は、使用可能な数を 8 で vCPUs 割ったものです。MEDIUM
– 使用されるスレッドの数は、使用可能な数を 2 で vCPUs 割ったものです。HIGH
– 使用されるスレッドの数は、使用可能な の数と同じですvCPUs。-
OVERSUBSCRIBE
– 使用されるスレッドの数は、使用可能な数に 2 を vCPUs 掛けたものです。この値を使用する場合、バルクローダーは利用可能なすべてのリソースを消費します。ただし、
OVERSUBSCRIBE
この設定によってCPU使用率が 100% になるわけではありません。ロードオペレーションは I/O バウンドであるため、予想される最大CPU使用率は 60%~70% の範囲です。
デフォルト値:
HIGH
parallelism
この設定により、 openCypher データのロード時にスレッド間でデッドロックが発生することがあります。こうなると、Neptune はLOAD_DATA_DEADLOCK
というエラーを返します。通常、この問題は次のようにして修正できます。parallelism
より低い設定にし、ロードコマンドを再試行します。 -
parserConfiguration
- 追加のパーサー設定値のあるオプションのオブジェクト。それぞれの子パラメータもオプションです。名前 値の例 説明 namedGraphUri
http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
グラフが指定されていない場合の、すべてのRDF形式のデフォルトグラフ (非クワッド形式とグラフなしNQUADのエントリの場合)。デフォルトは です。 http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
baseUri
http://aws.amazon.com/neptune/default
RDF/ URI XML およびタートル形式のベース。デフォルト: http://aws.amazon.com/neptune/default
。allowEmptyStrings
true
Gremlin ユーザーは、CSVデータをロードするときに、空の文字列値 (「」) をノードおよびエッジプロパティとして渡す必要があります。
allowEmptyStrings
がfalse
(デフォルト) に設定されている場合、そのような空の文字列は NULL として扱われ、ロードされません。allowEmptyStrings
がtrue
に設定されている場合、ローダーは空の文字列を有効なプロパティ値として扱い、それに応じてロードします。詳細については、「SPARQL デフォルトのグラフと名前付きグラフ」を参照してください。
-
updateSingleCardinalityProperties
- これは、バルクローダーが単一濃度の頂点またはエッジプロパティの新しい値を処理する方法を制御するオプションのパラメータです。これは openCypher データのロードではサポートされていません (「」を参照 openCypher データのロード)。使用できる値:
"TRUE"
、"FALSE"
。デフォルト値:
"FALSE"
。デフォルトでは、または
updateSingleCardinalityProperties
が明示的に"FALSE"
に設定されている場合、ローダーは単一の濃度に違反するため、新しい値をエラーとして扱います。一方、
updateSingleCardinalityProperties
が"TRUE"
に設定されている場合、バルクローダーは既存の値を新しい値に置き換えます。ロードされるソースファイルで複数のエッジまたは単一濃度の頂点プロパティ値が指定されている場合、バルクロードの終了時の最終値は、これらの新しい値のいずれかになります。ローダーは、既存の値が新しい値の 1 つに置き換えられたことを保証します。 -
queueRequest
- これは、ロードリクエストをキューに入れることができるかどうかを示すオプションのフラグパラメータです。queueRequest
パラメータをすべて"TRUE"
に設定している場合、Neptune は一度に最大 64 個のジョブをキューに入れることができるので、次のジョブを発行する前に 1 つのロードジョブが完了するのを待つ必要はありません。ジョブのキュー順序は () になります first-in-first-outFIFO。queueRequest
パラメータを省略するるか、"FALSE"
に設定した場合、別のロードジョブがすでに実行されていると、ロードリクエストは失敗します。使用できる値:
"TRUE"
、"FALSE"
。デフォルト値:
"FALSE"
。 -
dependencies
- これは、キュー内の 1 つ以上の前のジョブが正常に完了することを条件に、キューに入れられたロードリクエストを作成することができるオプションのパラメータです。Neptune は、
queueRequest
パラメータが"TRUE"
に設定されている場合、一度に最大 64 個のロードリクエストをキューに入れることができます。dependencies
パラメータを使用すると、キュー内で指定された 1 つ以上前のリクエストが正常に完了したかどうかに応じて、キューに入れられたそのようなリクエストを実行できます。たとえば、ロード
Job-A
とJob-B
が互いに独立しているものの、ロードJob-C
を開始する前にJob-A
およびJob-B
を終了する必要がある場合は、次の手順を実行します。任意の順序で
load-job-A
とload-job-B
を 1 つずつ送信し、load-id を保存します。dependencies
フィールドで 2 つのジョブの load-id を付けてload-job-C
を送信します。
"dependencies" : ["
job_A_load_id
", "job_B_load_id
"]dependencies
パラメータのため、Job-A
とJob-B
が正常に完了するまで、バルクローダーはJob-C
を起動しません。いずれかが失敗すると、Job-C は実行されず、そのステータスはLOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
に設定されます。この方法で複数のレベルの依存関係を設定できます。これにより、1 つのジョブが失敗すると、直接的または間接的に依存するすべてのリクエストがキャンセルされます。
-
userProvidedEdgeIds
– このパラメータは、関係 を含む openCypher データをロードする場合にのみ必要ですIDs。ロードデータに openCypher 関係IDsが明示的に提供されるTrue
場合 (推奨)、含めて に設定する必要があります。userProvidedEdgeIds
がないか、True
に設定されている場合、:ID
列は、ロード内のすべてのリレーションシップファイルにある必要があります。userProvidedEdgeIds
があり、False
に設定されている場合、ロード内のリレーションシップファイルに:ID
列があってはなりません。代わりに、Neptune ローダーは各リレーションシップの ID を自動的に生成します。すでにロードされているリレーションシップを再ロードしなくても、CSVデータのエラーが修正された後にローダーがロードを再開できるように、リレーションシップをIDs明示的に提供しておくと便利です。関係IDsが明示的に割り当てられていない場合、関係ファイルを修正する必要がある場合、ローダーは失敗したロードを再開できず、代わりにすべての関係を再ロードする必要があります。
-
accessKey
– 〔非推奨〕 S3 バケットとデータファイルにアクセスできるIAMロールのアクセスキー ID。代わりに、
iamRoleArn
パラメータを使用することをお勧めします。Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、前提条件: IAMロールと Amazon S3 アクセス を参照してください。詳細については、「アクセスキー (アクセスキー ID とシークレットアクセスキー)」を参照してください。
-
secretKey
– [非推奨] 代わりにiamRoleArn
パラメータを使用することをお勧めします。Amazon S3 にアクセスできるロールを作成し、Neptune クラスターに関連付ける方法の詳細については、前提条件: IAMロールと Amazon S3 アクセス を参照してください。詳細については、「アクセスキー (アクセスキー ID とシークレットアクセスキー)」を参照してください。
Neptune ローダーレスポンスの構文
{ "status" : "200 OK", "payload" : { "loadId" : "
guid_as_string
" } }
200 OK
ロードジョブが正常に開始されると 200
コードが返されます。