Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Neptune-Loader-Befehl
Lädt Daten aus einem Amazon-S3-Bucket in eine Neptune-DB-Instance.
Um Daten zu laden, müssen Sie eine HTTP POST
Anfrage an den Endpunkt senden. https://
Die Parameter für die your-neptune-endpoint
:port
/loaderloader
Anfrage können im POST
Hauptteil oder als URL -kodierte Parameter gesendet werden.
Wichtig
Der MIME Typ muss sein. application/json
Der S3-Bucket muss sich in derselben AWS Region wie der Cluster befinden.
Anmerkung
Sie können verschlüsselte Daten aus Amazon S3 laden, wenn sie mit dem Amazon-S3-Modus SSE-S3
verschlüsselt wurden. In diesem Fall kann Neptune Ihre Anmeldeinformationen vortäuschen und s3:getObject
-Aufrufe in Ihrem Namen ausgeben.
Sie können auch verschlüsselte Daten aus Amazon S3 laden, die SSE-KMS
im Modus verschlüsselt wurden, sofern Ihre IAM Rolle die erforderlichen Zugriffsberechtigungen umfasst AWS KMS. Ohne die entsprechenden AWS KMS Berechtigungen schlägt der Massenladevorgang fehl und es wird eine LOAD_FAILED
Antwort zurückgegeben.
Neptune unterstützt zurzeit nicht das Laden von Amazon-S3-Daten, die mit dem Modus SSE-C
verschlüsselt wurden.
Sie müssen nicht warten, bis ein Ladeauftrag abgeschlossen ist, bevor Sie einen weiteren Ladeauftrag starten. Neptune kann bis zu 64 Auftragsanforderungen gleichzeitig in eine Warteschlange einstellen, wenn ihre queueRequest
-Parameter auf "TRUE"
festgelegt sind. Die Reihenfolge der Jobs in der Warteschlange lautet first-in-first-out (FIFO). Wenn Sie nicht möchten, dass ein Ladeauftrag in die Warteschlange eingereiht wird, können Sie seinen Parameter queueRequest
auf "FALSE"
(den Standardwert) festlegen, damit der Ladeauftrag fehlschlägt, wenn ein bereits ein anderer Ladeauftrag ausgeführt wird.
Sie können mit dem Parameter dependencies
einen Auftrag in die Warteschlange stellen, der nur ausgeführt werden darf, nachdem bestimmte vorherige Aufträge in der Warteschlange erfolgreich durchgeführt wurden. Wenn Sie so verfahren und einer dieser angegebenen Aufträge fehlschlägt, wird Ihr Auftrag nicht ausgeführt und sein Status wird auf LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
gesetzt.
Neptune-Loader-Anforderungssyntax
{ "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-Loader-Anforderungsparameter
-
source
— Ein Amazon S3URI.Der
SOURCE
Parameter akzeptiert einen Amazon S3URI, der eine einzelne Datei, mehrere Dateien, einen Ordner oder mehrere Ordner identifiziert. Neptune lädt jede Datendatei in den Ordner, der angegeben ist.Sie URI können in einem der folgenden Formate vorliegen.
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
Das
object-key-name
Element von URI entspricht dem Präfixparameter in einem Amazon S3 ListObjectsAPIS3-Aufruf. Es gibt alle Objekte im angegebenen Amazon-S3-Bucket an, deren Namen mit diesem Präfix beginnen. Dabei kann es sich um eine einzelne Datei oder einen einzelnen Ordner oder mehrere Dateien und/oder Ordner handeln.Die angegebenen Ordner können mehrere Eckpunkt- und Kantendateien enthalten.
Wenn Sie beispielsweise die folgende Ordnerstruktur und die folgenden Dateien in einem Amazon S3 S3-Bucket mit dem Namen haben
bucket-name
:s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade s3://bucket-name/bcd
Wenn der Quellparameter als angegeben ist
s3://bucket-name/a
, werden die ersten drei Dateien geladen.s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade
-
format
– Das Format der Daten. Weitere Informationen zu Datenformaten für den Neptune-BefehlLoader
finden Sie unter Verwenden des Amazon Neptune Bulk Loaders zum Aufnehmen von Daten.Zulässige Werte
csv
für das CSVGremlin-Datenformat.opencypher
für das openCypher CSVDatenformat.ntriples
für das RDFN-Triples-Datenformat. nquads
für das RDFN-Quads-Datenformat. rdfxml
für das RDF\ XML RDF data-Format. turtle
für das RDFTurtle-Datenformat.
-
iamRoleArn
— Der Amazon-Ressourcenname (ARN) für eine IAM Rolle, die von der Neptune-DB-Instance für den Zugriff auf den S3-Bucket übernommen werden soll. Informationen zum Erstellen einer Rolle, die über Zugriff auf Amazon S3 verfügt, und zum Verknüpfen dieser Rolle mit einem Neptune-Cluster finden Sie unter Voraussetzungen: IAM Rolle und Amazon S3 S3-Zugriff.Ab Engine-Version 1.2.1.0.R3 können Sie auch mehrere IAM Rollen verketten, wenn sich die Neptune-DB-Instance und der Amazon S3 S3-Bucket in unterschiedlichen Konten befinden. AWS
iamRoleArn
Enthält in diesem Fall eine durch Kommas getrennte Liste von Rollen, wie unter beschrieben. ARNs Verkettung von IAM Rollen in Amazon Neptune Beispielsweise: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
— Derregion
Parameter muss mit der AWS Region des Clusters und des S3-Buckets übereinstimmen.Amazon Neptune ist in den folgenden -Regionen verfügbar:
USA Ost (Nord-Virginia):
us-east-1
USA Ost (Ohio):
us-east-2
USA West (Nordkalifornien):
us-west-1
USA West (Oregon):
us-west-2
Kanada (Zentral):
ca-central-1
Südamerika (São Paulo):
sa-east-1
Europa (Stockholm):
eu-north-1
Europa (Spanien):
eu-south-2
Europa (Irland):
eu-west-1
Europa (London):
eu-west-2
Europa (Paris):
eu-west-3
Europa (Frankfurt):
eu-central-1
Naher Osten (Bahrain):
me-south-1
Naher Osten (UAE):
me-central-1
Israel (Tel Aviv):
il-central-1
Afrika (Kapstadt):
af-south-1
Asien-Pazifik (Hongkong):
ap-east-1
Asien-Pazifik (Tokio):
ap-northeast-1
Asien-Pazifik (Seoul):
ap-northeast-2
Asien-Pazifik (Osaka):
ap-northeast-3
Asien-Pazifik (Singapur):
ap-southeast-1
Asien-Pazifik (Sydney):
ap-southeast-2
Asien-Pazifik (Jakarta):
ap-southeast-3
Asien-Pazifik (Mumbai):
ap-south-1
China (Peking):
cn-north-1
China (Ningxia):
cn-northwest-1
AWS GovCloud (US-West):
us-gov-west-1
AWS GovCloud (US-Ost):
us-gov-east-1
-
mode
– Der Ladeauftragsmodus.Zulässige Werte:
RESUME
,NEW
,AUTO
.Standardwert:
AUTO
-
RESUME
— Im RESUME Modus sucht der Loader nach einem früheren Ladevorgang aus dieser Quelle und wenn er einen findet, setzt er den Ladevorgang fort. Wenn kein vorheriger Ladeauftrag gefunden wird, stoppt der Loader.Der Loader vermeidet das erneute Laden von Dateien, die in einem früheren Auftrag erfolgreich geladen wurden. Er versucht nur, fehlgeschlagene Dateien zu verarbeiten. Wenn Sie zuvor geladene Daten aus dem Neptune-Cluster gelöscht haben, werden diese Daten in diesem Modus nicht neu geladen. Wenn ein vorheriger Ladeauftrag alle Dateien aus derselben Quelle erfolgreich geladen hat, wird nichts neu geladen und der Loader gibt eine Erfolgsmeldung zurück.
NEW
— Im NEW Modus erstellt der unabhängig von früheren Ladevorgängen eine neue Ladeanforderung. Sie können diesen Modus verwenden, um alle Daten aus einer Quelle erneut zu laden, nachdem die zuvor aus Ihrem Neptune-Cluster geladenen Daten abgelegt wurden, oder um neue Daten zu laden, die in derselben Quelle verfügbar sind.-
AUTO
— Im AUTO Modus sucht der Loader nach einem vorherigen Ladejob aus derselben Quelle. Wenn er einen findet, nimmt er diesen Job wieder auf, genau wie imRESUME
Modus.Wenn der Loader keinen vorherigen Ladeauftrag aus derselben Quelle findet, lädt er wie im Modus
NEW
alle Daten aus der Quelle.
-
-
failOnError
– Ein Flag für vollständiges Anhalten bei einem Fehler.Zulässige Werte:
"TRUE"
,"FALSE"
.Standardwert:
"TRUE"
.Wenn dieser Parameter auf
"FALSE"
gesetzt ist, versucht der Loader, alle Daten am angegebenen Speicherort zu laden, wobei alle Einträge mit Fehlern übersprungen werden.Wenn dieser Parameter auf
"TRUE"
eingestellt ist, stoppt der Loader, sobald ein Fehler auftritt. Bis zu diesem Punkt geladene Daten bleiben bestehen. -
parallelism
– Dies ist ein optionaler Parameter, der festgelegt werden kann, um die Anzahl der vom Massenladevorgang verwendeten Threads zu reduzieren.Zulässige Werte:
LOW
— Die Anzahl der verwendeten Threads entspricht der Anzahl der verfügbaren Threads vCPUs geteilt durch 8.MEDIUM
— Die Anzahl der verwendeten Threads ist die Anzahl der verfügbaren Threads vCPUs geteilt durch 2.HIGH
— Die Anzahl der verwendeten Threads entspricht der Anzahl der verfügbaren ThreadsvCPUs.-
OVERSUBSCRIBE
— Die Anzahl der verwendeten Threads ist die Anzahl der verfügbaren Threads vCPUs multipliziert mit 2. Wenn dieser Wert verwendet wird, nimmt der Massen-Loader alle verfügbaren Ressourcen in Anspruch.Dies bedeutet jedoch nicht, dass die
OVERSUBSCRIBE
Einstellung zu einer CPU Auslastung von 100% führt. Da der Ladevorgang I/O-gebunden ist, liegt die höchste zu erwartende CPU Auslastung im Bereich von 60 bis 70%
Standardwert:
HIGH
Diese
parallelism
Einstellung kann manchmal zu einem Deadlock zwischen Threads beim Laden von openCypher Daten führen. In diesem Fall gibt Neptune den FehlerLOAD_DATA_DEADLOCK
zurück. Sie können das Problem im Allgemeinen beheben, indem Sieparallelism
auf einen niedrigeren Wert festlegen und den Ladebefehl wiederholen. -
parserConfiguration
– Ein optionales Objekt mit zusätzlichen Parser-Konfigurationswerten. Jeder der untergeordneten Parameter ist ebenfalls optional:Name Beispielwert Beschreibung namedGraphUri
http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
Das Standarddiagramm für alle RDF Formate, wenn kein Diagramm angegeben ist (für Nicht-Quads-Formate und NQUAD Einträge ohne Diagramm). Der Standardwert ist http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
baseUri
http://aws.amazon.com/neptune/default
Die Basis URI für die FormateRDF/XMLund Turtle. Der Standardwert ist http://aws.amazon.com/neptune/default
.allowEmptyStrings
true
Gremlin-Benutzer müssen in der Lage sein, beim Laden CSV von Daten leere Zeichenkettenwerte („“) als Knoten- und Edge-Eigenschaften zu übergeben. Wenn
allowEmptyStrings
auffalse
(Standard) festgelegt ist, werden diese leeren Zeichenfolgen als Nullen behandelt und nicht geladen.Wenn
allowEmptyStrings
auftrue
festgelegt ist, behandelt der Loader leere Zeichenfolgen als gültige Eigenschaftswerte und lädt sie entsprechend.Weitere Informationen finden Sie unter SPARQLStandarddiagramm und benannte Grafiken.
-
updateSingleCardinalityProperties
– Dies ist ein optionaler Parameter, der steuert, wie der Massen-Loader einen neuen Wert für Eckpunkt- oder Kanteneigenschaften mit einfacher Kardinalität behandelt. Dies wird für das Laden von openCypher Daten nicht unterstützt (siehe openCypher Daten werden geladen).Zulässige Werte:
"TRUE"
,"FALSE"
.Standardwert:
"FALSE"
.Standardmäßig oder wenn
updateSingleCardinalityProperties
explizit als"FALSE"
festgelegt ist, behandelt der Loader einen neuen Wert als Fehler, da er gegen die Einzel-Kardinalität verstößt.Wenn
updateSingleCardinalityProperties
als"TRUE"
festgelegt ist, ersetzt der Massen-Loader auf der anderen Seite den vorhandenen Wert durch den neuen. Wenn in den Quelldateien, die geladen werden, mehrere Edge- oder Einzel-Kardinalität-Vertex-Eigenschaftswerte angegeben werden, kann der endgültige Wert am Ende des Massenladevorgangs jeder dieser neuen Werte sein. Der Loader stellt nur sicher, dass der vorhandene Wert durch einen der neuen ersetzt wurde. -
queueRequest
– Dies ist ein optionaler Flag-Parameter, der angibt, ob die Ladeanforderung in die Warteschlange eingereiht werden kann oder nicht.Sie müssen mit dem nächsten Ladeauftrag nicht warten, bis ein Ladeauftrag abgeschlossen ist, da Neptune bis zu 64 Aufträge gleichzeitig in die Warteschlange einreihen kann, wenn alle
queueRequest
-Parameter auf"TRUE"
festgelegt sind. Die Reihenfolge der Jobs in der Warteschlange lautet first-in-first-out (FIFO).Wenn der Parameter
queueRequest
ausgelassen oder auf"FALSE"
festgelegt wird, schlägt die Ladeanforderung fehl, wenn bereits ein anderer Ladeauftrag ausgeführt wird.Zulässige Werte:
"TRUE"
,"FALSE"
.Standardwert:
"FALSE"
. -
dependencies
– Dies ist ein optionaler Parameter, mit dem eine Ladeanforderung in der Warteschlange vom erfolgreichen Abschluss eines oder mehrerer früherer Aufträge in der Warteschlange abhängig gemacht werden kann.Neptune kann bis zu 64 Ladeanforderungen gleichzeitig in die Warteschlange einreihen, wenn die
queueRequest
-Parameter auf"TRUE"
festgelegt sind. Mit dem Parameterdependencies
können Sie die Ausführung einer solchen Anforderung in der Warteschlange vom erfolgreichen Abschluss einer oder mehrerer spezifizierter früherer Anforderungen in der Warteschlange abhängig machen.Wenn Ladung
Job-A
undJob-B
beispielsweise unabhängig voneinander sind, mit LadungJob-C
aber erst nach Abschluss vonJob-A
undJob-B
begonnen werden kann, gehen Sie wie folgt vor:Senden Sie
load-job-A
undload-job-B
nacheinander in beliebiger Reihenfolge, und speichern Sie ihre Ladekennungen.Senden Sie
load-job-C
mit den Ladekennungen der beiden Aufträge in seinemdependencies
-Feld:
"dependencies" : ["
job_A_load_id
", "job_B_load_id
"]Aufgrund des Parameters
dependencies
startet der Bulk-LoaderJob-C
erst dann, nachdemJob-A
undJob-B
erfolgreich abgeschlossen wurden. Wenn einer von ihnen fehlschlägt, wird Job-C nicht ausgeführt und sein Status wird aufLOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED
gesetzt.Auf diese Weise können Sie mehrere Abhängigkeitsebenen einrichten, sodass das Fehlschlagen eines Auftrags dazu führt, dass alle Anforderungen, die direkt oder indirekt davon abhängig sind, abgebrochen werden.
-
userProvidedEdgeIds
— Dieser Parameter ist nur erforderlich, wenn openCypher Daten geladen werden, die eine Beziehung enthaltenIDs. Er muss enthalten und auf diesen Wert gesetzt werden,True
wenn openCypher Beziehungen explizit in den Ladedaten angegeben IDs sind (empfohlen).Wenn
userProvidedEdgeIds
fehlt oder aufTrue
festgelegt ist, muss in jeder Beziehungsdatei im Ladevorgang die Spalte:ID
vorhanden sein.Wenn
userProvidedEdgeIds
vorhanden und aufFalse
festgelegt ist, dürfen Beziehungsdateien im Ladevorgang die Spalte:ID
nicht enthalten. Stattdessen generiert der Neptune-Loader automatisch eine ID für jede Beziehung.Es ist nützlich, die Beziehung IDs explizit anzugeben, damit der Loader den Ladevorgang fortsetzen kann, nachdem ein Fehler in den CSV Daten behoben wurde, ohne dass Beziehungen, die bereits geladen wurden, erneut geladen werden müssen. Wenn IDs die Beziehung nicht explizit zugewiesen wurde, kann der Loader einen fehlgeschlagenen Ladevorgang nicht fortsetzen, falls eine Beziehungsdatei korrigiert werden musste, und muss stattdessen alle Beziehungen neu laden.
-
accessKey
— [veraltet] Eine Zugriffsschlüssel-ID einer IAM Rolle mit Zugriff auf den S3-Bucket und die Datendateien.Stattdessen wird der Parameter
iamRoleArn
empfohlen. Informationen zum Erstellen einer Rolle, die über Zugriff auf Amazon S3 verfügt, und zum Verknüpfen dieser Rolle mit einem Neptune-Cluster finden Sie unter Voraussetzungen: IAM Rolle und Amazon S3 S3-Zugriff.Weitere Informationen finden Sie unter Zugriffsschlüssel (Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel).
-
secretKey
– [veraltet] Stattdessen wird der ParameteriamRoleArn
empfohlen. Informationen zum Erstellen einer Rolle, die über Zugriff auf Amazon S3 verfügt, und zum Verknüpfen dieser Rolle mit einem Neptune-Cluster finden Sie unter Voraussetzungen: IAM Rolle und Amazon S3 S3-Zugriff.Weitere Informationen finden Sie unter Zugriffsschlüssel (Zugriffsschlüssel-ID und geheimer Zugriffsschlüssel).
Neptune-Loader-Antwortsyntax
{ "status" : "200 OK", "payload" : { "loadId" : "
guid_as_string
" } }
200 OK
Bei einem erfolgreich gestarteten Ladeauftrag wird ein 200
-Code zurückgegeben.