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.
Beispiel: Laden von Daten in eine Neptune-DB-Instance
Dieses Beispiel zeigt, wie Daten in Amazon Neptune geladen werden. Sofern nicht anders angegeben, müssen Sie diese Schritte von einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance aus in derselben Amazon Virtual Private Cloud (VPC) wie Ihre Neptune DB-Instance ausführen.
Beispiel für die Voraussetzungen für das Laden von Daten
Sie benötigen Folgendes, um starten zu können:
-
Eine Neptune-DB-Instance.
Informationen zum Starten einer Neptune-DB-Instance finden Sie unter Einen Amazon Neptune Neptune-Cluster erstellen.
-
Einen Amazon-Simple-Storage-Service-Bucket (Amazon-S3-Bucket) zum Speichern der Datendateien.
Sie können einen vorhandenen Bucket verwenden. Wenn Sie nicht über einen S3-Bucket verfügen, finden Sie weitere Informationen unter Einen Bucket erstellen im Amazon-S3-Handbuch für die ersten Schritte.
-
Die Diagrammdaten, die geladen werden sollen, in einem Format, das vom Neptune-Loader unterstützt wird:
Wenn Sie Gremlin verwenden, um Ihr Diagramm abzufragen, kann Neptune Daten im Format a comma-separated-values (
CSV
) laden, wie unter beschrieben. Gremlin-LadedatenformatWenn Sie openCypher verwenden, um Ihr Diagramm abzufragen, kann Neptune auch Daten in einem openCypher-spezifischen
CSV
-Format laden, wie in Ladeformat für openCypher-Daten beschrieben.Wenn Sie SPARQL verwenden, kann Neptune die Daten in einer Reihe von RDF-Formaten laden, wie in RDF-Formate zum Laden von Daten beschrieben.
-
Eine IAM-Rolle zur Übernahme durch die Neptune-DB-Instance, die über eine IAM-Richtlinie verfügt, die den Zugriff auf die Datendateien im S3-Bucket erlaubt. Die Richtlinie muss Lese- und Auflistungsberechtigungen erteilen.
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-Zugriff.
Anmerkung
Die Neptune-
Load
-API benötigt nur Lesezugriff auf die Datendateien. Die IAM-Richtlinie muss keinen Schreibzugriff oder Zugriff auf den gesamten Bucket zulassen. Einen Amazon-S3-VPC-Endpunkt. Weitere Informationen finden Sie im Abschnitt Erstellen eines Amazon-S3-VPC-Endpunkts.
Erstellen eines Amazon-S3-VPC-Endpunkts
Der Neptune Loader erfordert einen VPC-Endpunkt für Amazon S3.
So richten Sie den Zugriff für Amazon S3 ein
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/
. Wählen Sie im linken Navigationsbereich die Option Endpoints (Endpunkte) aus.
Klicken Sie auf Endpunkt erstellen.
-
Wählen Sie unter Service Name (Service-Name)
com.amazonaws.
aus.region
.s3Anmerkung
Wenn die Region hier nicht korrekt ist, stellen Sie sicher, dass die Konsolenregion richtig ist.
Wählen Sie die VPC aus, die Ihre Neptune-DB-Instance enthält.
Aktivieren Sie das Kontrollkästchen neben den Routing-Tabellen, die den Subnetzen Ihres Clusters zugeordnet sind. Wenn Sie nur eine Routing-Tabelle vorliegen haben, müssen Sie das entsprechende Kontrollkästchen aktivieren.
Klicken Sie auf Endpunkt erstellen.
Informationen zum Erstellen von Endpunkten finden Sie unter VPC-Endpunkte im Amazon-VPC-Benutzerhandbuch. Informationen zu den Einschränkungen für VPC-Endpunkte finden Sie unter VPC-Endpunkte für Amazon S3.
Laden von Daten in eine Neptune-DB-Instance
-
Kopieren Sie die Datendateien in einen Amazon-S3-Bucket. Der S3-Bucket muss sich in derselben AWS Region befinden wie der Cluster, der die Daten lädt.
Sie können den folgenden AWS CLI Befehl verwenden, um die Dateien in den Bucket zu kopieren.
Anmerkung
Dieser Befehl muss nicht von der EC2 Amazon-Instance aus ausgeführt werden.
aws s3 cp
data-file-name
s3://bucket-name
/object-key-name
Anmerkung
In Amazon S3 stellt ein Objektschlüsselname den gesamten Pfad einer Datei dar, einschließlich des Dateinamens.
Beispiel: Im Befehl
aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt
lautet der Objektschlüsselnamemydirectory/datafile.txt
.Alternativ können Sie den verwenden, AWS Management Console um Dateien in den S3-Bucket hochzuladen. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
und wählen Sie einen Bucket aus. Wählen Sie oben links Hochladen aus, um Dateien hochzuladen. -
Geben Sie in einem Befehlszeilenfenster Folgendes ein, um den Neptune-Loader auszuführen. Verwenden Sie dabei die korrekten Werte für den Endpunkt, den Amazon-S3-Pfad, das Format und den IAM-Rollen-ARN.
Der Parameter
format
kann einen der folgenden Werte haben:csv
für Gremlin,opencypher
für openCypher oderntriples
,nquads
,turtle
undrdfxml
für RDF. Informationen zu den anderen Parametern finden Sie unter Neptune-Loader-Befehl.Informationen zum Ermitteln des Hostnamens Ihrer Neptune-DB-Instance finden Sie im Abschnitt Verbinden mit Amazo-Neptune-Endpunkten.
Der Parameter für die Region muss mit der Region des Clusters und des S3-Buckets übereinstimmen.
Amazon Neptune ist in den folgenden AWS 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 (VAE):
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
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"
] }'Informationen zum Erstellen und Zuordnen einer IAM-Rolle zu einem Neptune-Cluster finden Sie unter Voraussetzungen: IAM-Rolle und Amazon-S3-Zugriff.
Anmerkung
Unter Neptune-Loader-Anforderungsparameter) finden Sie detaillierte Informationen zu Ladeanforderungsparametern. In Kürze:
Der Parameter
source
akzeptiert einen Amazon–S3-URI, der auf eine einzelne Datei oder auf einen Ordner verweist. Wenn Sie einen Ordner angeben, lädt Neptune jede Datendatei in den Ordner.Der Ordner enthält möglicherweise mehrere Eckpunkt- und Kantendateien.
Der URI kann in einem der folgenden Formate angegeben sein.
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
Der Parameter
format
kann eines der folgenden Formate angeben:Gremlin-CSV-Format (
csv
) für Gremlin-EigenschaftsdiagrammeOpenCypher-CSV-Format (
opencypher
) für openCypher-EigenschaftsdiagrammeN-Triples (
ntriples
)-Format für RDF/SPARQLN-Quads (
nquads
)-Format für RDF/SPARQLRDF/XML (
rdfxml
)-Format für RDF/SPARQLTurtle (
turtle
)-Format für RDF/SPARQL
Mit dem optionalen Parameter
parallelism
können Sie die Anzahl der im Massen-Ladevorgang verwendeten Threads einschränken. Mögliche Einstellungen sindLOW
,MEDIUM
,HIGH
oderOVERSUBSCRIBE
.Wenn
updateSingleCardinalityProperties
auf"FALSE"
eingestellt ist, gibt der Loader einen Fehler zurück, wenn mehr als ein Wert in einer Quelldatei bereitgestellt wird, die für eine Edge- oder Einzel-Kardinalität-Vertex-Eigenschaft geladen wird.Wenn
queueRequest
auf"TRUE"
eingestellt wird, hat dies zur Folge, dass die Ladeanforderung in eine Warteschlange gestellt wird, wenn bereits ein Ladeauftrag ausgeführt wird.Mit dem Parameter
dependencies
wird die Ausführung der Ladeanforderung vom erfolgreichen Abschluss eines oder mehrerer Ladeaufträge abhängig gemacht, die bereits in die Warteschlange gestellt wurden. -
Der Neptune-Loader gibt eine Auftrags-
id
zurück, mit der Sie den Status prüfen oder den Ladevorgang abbrechen können, z. B.:{ "status" : "200 OK", "payload" : { "loadId" : "
ef478d76-d9da-4d94-8ff1-08d9d4863aa5
" } } -
Geben Sie Folgendes ein, um den Status des Ladevorgangs mit der
loadId
aus Schritt 3 abzurufen:curl -G 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'Wenn der Status des Ladevorgangs einen Fehler angibt, können Sie mehr Details zum Status und eine Liste der Fehler anfordern. Weitere Informationen und Beispiele finden Sie unter Neptune Loader-API Get-Status .
-
(Optional) Brechen Sie den
Load
-Auftrag ab.Geben Sie Folgendes ein, um den Befehl
Delete
für den Loader-Auftrag mit der Auftrags-id
aus Schritt 3 auszuführen:curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'Der
DELETE
-Befehl gibt den HTTP-Code200 OK
nach erfolgtem Abbruch zurück.Die Daten aus Dateien des Ladeauftrags, der beendet wurde, werden nicht zurückgesetzt. Die Daten bleiben in der Neptune-DB-Instance.