Beispiel: Laden von Daten in eine Neptune-DB-Instance - Amazon Neptune

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-Ladedatenformat

    Wenn 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
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im linken Navigationsbereich die Option Endpoints (Endpunkte) aus.

  3. Klicken Sie auf Endpunkt erstellen.

  4. Wählen Sie unter Service Name (Service-Name) com.amazonaws.region.s3 aus.

    Anmerkung

    Wenn die Region hier nicht korrekt ist, stellen Sie sicher, dass die Konsolenregion richtig ist.

  5. Wählen Sie die VPC aus, die Ihre Neptune-DB-Instance enthält.

  6. 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.

  7. 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
  1. 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üsselname mydirectory/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.

  2. 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 oder ntriples, nquads, turtle und rdfxml 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-Eigenschaftsdiagramme

    • OpenCypher-CSV-Format (opencypher) für openCypher-Eigenschaftsdiagramme

    • N-Triples (ntriples)-Format für RDF/SPARQL

    • N-Quads (nquads)-Format für RDF/SPARQL

    • RDF/XML (rdfxml)-Format für RDF/SPARQL

    • Turtle (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 sind LOW, MEDIUM, HIGH oder OVERSUBSCRIBE.

    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.

  3. 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" } }
  4. 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 .

  5. (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-Code 200 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.