Esempio: caricamento di dati in un'istanza database Neptune - Amazon Neptune

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio: caricamento di dati in un'istanza database Neptune

Questo esempio illustra come caricare dati in Amazon Neptune. Salvo diversa indicazione, devi seguire questi passaggi da un'istanza Amazon Elastic Compute Cloud (AmazonEC2) nello stesso Amazon Virtual Private Cloud (VPC) dell'istanza DB Neptune.

Prerequisiti per l'esempio di caricamento di dati

Prima di iniziare, devi disporre di quanto segue:

  • Istanza database Neptune.

    Per informazioni sull'avvio di un'istanza database Neptune, consulta Creazione di un cluster Amazon Neptune.

  • Bucket Amazon Simple Storage Service (Amazon S3) in cui inserire i file di dati.

    Puoi utilizzare un bucket esistente. Se non disponi di un bucket S3, consulta Creare un bucket nella Guida alle operazioni di base di Amazon S3.

  • Dati del grafo da caricare, in uno dei formati supportati dallo strumento di caricamento Neptune:

    Se state usando Gremlin per interrogare il vostro grafico, Neptune può caricare i dati in un formato comma-separated-values (CSV), come descritto in. Formato dati di caricamento Gremlin

    Se si utilizza openCypher per interrogare il grafico, Neptune può anche caricare i dati in openCypher un formato CSV specifico, come descritto in. Formato di caricamento per i dati openCypher

    Se si utilizzaSPARQL, Neptune può caricare dati in diversi formati, come RDF descritto in. RDFformati di dati di caricamento

  • Un IAM ruolo da assumere per l'istanza DB di Neptune che dispone di IAM una policy che consente l'accesso ai file di dati nel bucket S3. La policy deve concedere le autorizzazioni per la lettura e la presentazione di elenchi.

    Per informazioni su come creare un ruolo che abbia accesso ad Amazon S3 e su come associarlo a un cluster Neptune, vedi Prerequisiti: IAM ruolo e accesso ad Amazon S3.

    Nota

    Il Load API Neptune necessita solo dell'accesso in lettura ai file di dati. La IAM policy non deve necessariamente consentire l'accesso in scrittura o l'accesso all'intero bucket.

  • Un endpoint Amazon S3VPC. Per ulteriori informazioni, consulta la sezione Creazione di un endpoint Amazon S3 VPC.

Creazione di un endpoint Amazon S3 VPC

Il loader Neptune richiede un VPC endpoint per Amazon S3.

Per configurare l'accesso ad Amazon S3
  1. Accedi a AWS Management Console e apri la VPC console Amazon all'indirizzo https://console.aws.amazon.com/vpc/.

  2. Nel riquadro di navigazione a sinistra, scegli Endpoints (Endpoint).

  3. Scegliere Create Endpoint (Crea endpoint).

  4. Scegli il Service Name (Nome servizio) com.amazonaws.region.s3.

    Nota

    Se la regione indicata qui non è corretta, verifica che lo sia la regione della console.

  5. Scegli VPC quella che contiene la tua istanza DB Neptune.

  6. Selezionare la casella di controllo accanto alle tabelle di routing associate alle sottoreti correlate al proprio cluster. Se si dispone di una sola tabella di routing, è necessario selezionare la casella corrispondente.

  7. Scegliere Create Endpoint (Crea endpoint).

Per informazioni sulla creazione dell'endpoint, consulta VPCEndpoints nella Amazon VPC User Guide. Per informazioni sulle limitazioni degli VPC endpoint, consulta VPCEndpoints for Amazon S3.

Per caricare i dati in un'istanza database Neptune
  1. Copiare i file di dati in un bucket Amazon S3. Il bucket S3 deve trovarsi nella stessa AWS regione del cluster che carica i dati.

    È possibile utilizzare il seguente AWS CLI comando per copiare i file nel bucket.

    Nota

    Non è necessario eseguire questo comando dall'EC2istanza Amazon.

    aws s3 cp data-file-name s3://bucket-name/object-key-name
    Nota

    In Amazon S3 un nome chiave dell'oggetto è il percorso intero di un file, incluso il nome.

    Esempio: nel comando aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt, il nome chiave dell'oggetto è mydirectory/datafile.txt.

    In alternativa, puoi utilizzare il AWS Management Console per caricare file nel bucket S3. Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/e scegli un bucket. Nell'angolo superiore sinistro, scegli Upload (Carica) per caricare i file.

  2. Da una finestra della riga di comando, inserisci quanto segue per eseguire il loader Neptune, utilizzando i valori corretti per l'endpoint, il percorso, il formato e il ruolo di Amazon S3. IAM ARN

    Il format parametro può essere uno dei seguenti valori: csv for Gremlin, for, or,, e opencypher foropenCypher. ntriples nquads turtle rdfxml RDF Per informazioni sugli altri parametri, vedi Comando dello strumento di caricamento Neptune.

    Per informazioni su come trovare il nome host dell'istanza database Neptune, consulta la sezione Connessione agli endpoint Amazon Neptune.

    Il parametro della regione deve corrispondere alla regione del cluster e del bucket S3.

    Amazon Neptune è disponibile nelle seguenti regioni: AWS

    • Stati Uniti orientali (Virginia settentrionale): us-east-1

    • Stati Uniti orientali (Ohio): us-east-2

    • Stati Uniti occidentali (California settentrionale): us-west-1

    • Stati Uniti occidentali (Oregon): us-west-2

    • Canada (Centrale): ca-central-1

    • Sud America (San Paolo): sa-east-1

    • Europa (Stoccolma): eu-north-1

    • Europa (Spagna): eu-south-2

    • Europa (Irlanda): eu-west-1

    • Europa (Londra): eu-west-2

    • Europa (Parigi): eu-west-3

    • Europa (Francoforte): eu-central-1

    • Medio Oriente (Bahrein): me-south-1

    • Medio Oriente (UAE): me-central-1

    • Israele (Tel Aviv):   il-central-1

    • Africa (Città del Capo): af-south-1

    • Asia Pacifico (Hong Kong): ap-east-1

    • Asia Pacifico (Tokyo): ap-northeast-1

    • Asia Pacifico (Seoul): ap-northeast-2

    • Asia Pacifico (Osaka): ap-northeast-3

    • Asia Pacifico (Singapore): ap-southeast-1

    • Asia Pacifico (Sydney): ap-southeast-2

    • Asia Pacifico (Giacarta): ap-southeast-3

    • Asia Pacifico (Mumbai): ap-south-1

    • Cina (Pechino): cn-north-1

    • Cina (Ningxia): cn-northwest-1

    • AWS GovCloud (Stati Uniti occidentali): us-gov-west-1

    • AWS GovCloud (Stati Uniti orientali): 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"] }'

    Per informazioni sulla creazione e l'associazione di un IAM ruolo a un cluster Neptune, vedere. Prerequisiti: IAM ruolo e accesso ad Amazon S3

    Nota

    Consulta Parametri della richiesta dello dello strumento di caricamento Neptune per informazioni dettagliate sui parametri della richiesta di caricamento. In breve:

    Il source parametro accetta un Amazon S3 URI che punta a un singolo file o a una cartella. Se si specifica una cartella, Neptune carica tutti i file di dati presenti nella cartella.

    La cartella può contenere più file vertex e più file edge.

    URIPuò essere in uno dei seguenti formati.

    • 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

    Il parametro format può essere uno dei seguenti:

    • CSVFormato Gremlin (csv) per i grafici delle proprietà Gremlin

    • openCypher CSVformat () per i grafici delle proprietà opencypher openCypher

    • Formato N -Triples (ntriples) per/RDFSPARQL

    • Formato N-Quads () nquads per/RDFSPARQL

    • RDFformato/XML(rdfxml) per/RDFSPARQL

    • Formato Turtle (turtle) per/RDFSPARQL

    Il parametro opzionale parallelism consente di limitare il numero di thread utilizzati nel processo di caricamento in blocco. Può essere impostato su LOW, MEDIUM, HIGH o OVERSUBSCRIBE.

    Quando updateSingleCardinalityProperties è impostato su "FALSE", lo strumento di caricamento restituisce un errore se viene fornito più di un valore in un file di origine caricato per una proprietà vertice a cardinalità singola o edge.

    L'impostazione di queueRequest su "TRUE" fa sì che la richiesta di caricamento venga inserita in una coda se è già in esecuzione un’attività di caricamento.

    Il parametro dependencies rende l'esecuzione della richiesta di caricamento subordinata al completamento di una o più attività di caricamento già inserita nella coda.

  3. Lo strumento di caricamento Neptune restituisce un oggetto id del processo che consente di controllare lo stato o di annullare il processo di caricamento, ad esempio:

    { "status" : "200 OK", "payload" : { "loadId" : "ef478d76-d9da-4d94-8ff1-08d9d4863aa5" } }
  4. Inserisci il comando seguente per ottenere lo stato del caricamento con il valore loadId della Fase 3:

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

    Se lo stato del caricamento elenca un errore, è possibile richiedere uno stato più dettagliato e un elenco degli errori. Per maggiori informazioni ed esempi, consulta Neptune Loader Get-Status API.

  5. (Facoltativo) Annullare il processo Load.

    inserisci il comando seguente per eseguire un Delete del processo dello strumento di caricamento con il valore id del processo della Fase 3:

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

    Il DELETE comando restituisce il HTTP codice 200 OK dopo l'annullamento riuscito.

    I dati provenienti dai file dal processo di caricamento terminato non vengono ripristinati. I dati rimangono nell'istanza database Neptune.