Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Comando dello strumento di caricamento Neptune

Modalità Focus
Comando dello strumento di caricamento 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à.

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

Carica i dati da un bucket Amazon S3 in un'istanza database Neptune.

Per caricare i dati è necessario inviare una richiesta HTTP POST all'endpoint https://your-neptune-endpoint:port/loader. I parametri per la richiesta loader possono essere inviati nel corpo POST corpo o come parametri di codifica URL.

Importante

Il tipo MIME deve essere application/json.

Il bucket S3 deve trovarsi nella stessa regione del cluster. AWS

Nota

È possibile caricare i dati crittografati da Amazon S3 se sono stati crittografati utilizzando la modalità SSE-S3 di Amazon S3. In questo caso, Neptune è in grado di impersonare le credenziali dell'utente e di effettuare chiamate a s3:getObject per conto dell'utente.

È possibile anche caricare i dati crittografati da Amazon S3 che sono stati crittografati utilizzando la modalità SSE-KMS, purché il ruolo IAM includa le autorizzazioni necessarie per accedere a AWS KMS. Senza AWS KMS le autorizzazioni appropriate, l'operazione di caricamento in blocco non riesce e restituisce una risposta. LOAD_FAILED

Neptune non supporta attualmente il caricamento di dati Amazon S3 crittografati utilizzando la modalità SSE-C.

Non è necessario attendere il completamento di un processo di caricamento prima di iniziarne un altro. Neptune può accodare fino a 64 richieste di processo alla volta, a condizione che i relativi parametri queueRequest siano tutti impostati su "TRUE". L'ordine di coda dei lavori sarà first-in-first-out (FIFO). Se invece non si desidera che un processo di caricamento sia messo in coda, è possibile impostare il relativo parametro queueRequest su "FALSE" (valore predefinito), in modo che il caricamento abbia esito negativo se ne è già in corso un altro.

È possibile utilizzare il parametro dependencies per accodare un'attività che deve essere eseguita solo dopo che le attività precedenti specificate nella coda sono state completate correttamente. Se si esegue questa operazione e uno qualsiasi di queste attività specificate non riesce, l'attività non verrà eseguita e il relativo stato verrà impostato su LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED.

Sintassi della richiesta dello strumento di caricamento 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"] }

Parametri della richiesta dello dello strumento di caricamento Neptune

  • source: URI Amazon S3.

    Il parametro SOURCE accetta un URI Amazon S3 che identifica un singolo file, più file, una cartella o più cartelle. Neptune carica ogni file di dati in qualsiasi cartella specificata.

    l'URI può 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

    L'object-key-nameelemento dell'URI è equivalente al parametro prefix in una chiamata API Amazon ListObjectsS3. Identifica tutti gli oggetti nel bucket Amazon S3 specificato i cui nomi iniziano con il prefisso specificato. Può trattarsi di un singolo file o una singola cartella oppure di più file e/o cartelle.

    La cartella o le cartelle specificate possono contenere più file di vertici e più file di archi.

    Ad esempio, se avevi la seguente struttura di cartelle e i seguenti file in un bucket Amazon S3 denominato: bucket-name

    s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade s3://bucket-name/bcd

    Se il parametro source è specificato comes3://bucket-name/a, verranno caricati i primi tre file.

    s3://bucket-name/a/bc s3://bucket-name/ab/c s3://bucket-name/ade
  • format: formato dei dati. Per ulteriori informazioni sui formati di dati per il comando Neptune Loader, vedi Utilizzo del bulk loader Amazon Neptune per importare dati.

  • iamRoleArn: nome della risorsa Amazon (ARN) per un ruolo IAM che deve essere assunto dall'istanza database Neptune per l'accesso al bucket S3. Per informazioni su come creare un ruolo che abbia accesso ad Amazon S3 e su come associarlo a un cluster Neptune, vedi Prerequisiti: ruolo IAM e accesso ad Amazon S3.

    A partire dalla versione 1.2.1.0.R3 del motore, puoi anche concatenare più ruoli IAM se l'istanza DB Neptune e il bucket Amazon S3 si trovano in account diversi. AWS In questo caso, iamRoleArn contiene un elenco di ruoli separati da virgole, come descritto in. ARNs Concatenazione di ruoli IAM in Amazon Neptune Per esempio:

    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— Il region parametro deve corrispondere alla AWS regione del cluster e al bucket S3.

    Amazon Neptune è disponibile nelle seguenti regioni :

    • 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 (Emirati Arabi Uniti): 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 (Malesia): ap-southeast-5

    • 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

  • mode: modalità del processo di caricamento.

    Valori consentiti: RESUME, NEW, AUTO.

    Valore predefinito: AUTO

    • RESUME: in modalità RESUME, lo strumento di caricamento cerca un caricamento precedente da questa origine e, se ne trova uno, riprende l'attività di caricamento. Se non viene trovata alcuna attività di caricamento precedente, il loader si arresta.

      Il loader evita di ricaricare i file caricati correttamente in un'attività precedente. Tenta di elaborare solo i file non caricati. Se sono stati eliminati i dati caricati in precedenza dal cluster Neptune, tali dati non vengono ricaricati in questa modalità. Se un processo di caricamento precedente ha caricato correttamente tutti i file dalla stessa origine, nulla viene ricaricato e lo strumento di caricamento restituisce un risultato positivo.

    • NEW: in modalità NEW viene creata una nuova richiesta di caricamento, indipendentemente da eventuali caricamenti precedenti. Questa modalità può essere utilizzata per ricaricare tutti i dati provenienti da un'origine dopo che sono stati eliminati dati caricati precedentemente dal cluster Neptune o per caricare nuovi dati disponibili nella stessa origine.

    • AUTO: in modalità AUTO, lo strumento di caricamento cerca un'attività di caricamento precedente dalla stessa origine e, se ne trova una, riprende tale attività, proprio come in modalità RESUME.

      Se il loader non trova un'attività di caricamento precedente dalla stessa origine, carica tutti i dati dall'origine, proprio come in modalità NEW.

  • failOnError: un flag per attivare un arresto completo in caso di errore.

    Valori consentiti: "TRUE", "FALSE".

    Valore predefinito: "TRUE".

    Quando questo parametro è impostato su "FALSE", il loader tenta di caricare tutti i dati nella posizione specificata, saltando eventuali voci con errori.

    Quando questo parametro è impostato su "TRUE", il loader si arresta non appena rileva un errore. I dati caricati fino a quel punto persistono.

  • parallelism: si tratta di un parametro facoltativo che può essere impostato per ridurre il numero di thread utilizzati dal processo di caricamento in blocco.

    Valori consentiti:

    • LOW— Il numero di thread utilizzati è il numero di v disponibili CPUs diviso per 8.

    • MEDIUM— Il numero di thread utilizzati è il numero di v disponibili CPUs diviso per 2.

    • HIGH— Il numero di thread utilizzati è uguale al numero di v disponibili. CPUs

    • OVERSUBSCRIBE— Il numero di thread utilizzati è il numero di v disponibili CPUs moltiplicato per 2. Se viene utilizzato questo valore, il bulk loader occupa tutte le risorse disponibili.

      Ciò non significa, tuttavia, che l'impostazione OVERSUBSCRIBE comporti un utilizzo della CPU al 100%. Poiché l'operazione di caricamento è limitata dalle attività di I/O, l'utilizzo massimo della CPU previsto è compreso tra il 60% e il 70%.

    Valore predefinito: HIGH

    L'impostazione parallelism a volte può causare un deadlock tra i thread durante il caricamento dei dati openCypher. Quando ciò accade, Neptune restituisce l'errore LOAD_DATA_DEADLOCK. Di solito è possibile risolvere il problema impostando parallelism su un valore inferiore e riprovando il comando di caricamento.

  • parserConfiguration: un oggetto opzionale con valori di configurazione del parser aggiuntivi. Ciascuno dei parametri figlio è anche facoltativo:

    Nome Valore di esempio Descrizione
    namedGraphUri http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph Il grafo predefinito per tutti i formati RDF quando non viene specificato alcun grafo (per formati non quads e voci NQUAD senza grafo). Il valore predefinito è http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph.
    baseUri http://aws.amazon.com/neptune/default L'URI di base per i formati RDF/XML e Turtle. Il valore predefinito è http://aws.amazon.com/neptune/default.
    allowEmptyStrings true

    Gli utenti Gremlin devono essere in grado di passare valori di stringa vuoti ("") come proprietà dei nodi e degli archi durante il caricamento di dati CSV. Se allowEmptyStrings è impostato su false (valore predefinito), le stringhe vuote vengono trattate come valori null e non vengono caricate.

    Se allowEmptyStrings è impostato su true, lo strumento di caricamento considera le stringhe vuote come valori di proprietà validi e le carica di conseguenza.

    Per ulteriori informazioni, consulta Grafo predefinito SPARQL e grafi denominati.

  • updateSingleCardinalityProperties: è un parametro facoltativo che controlla il modo in cui lo strumento di caricamento in blocco tratta un nuovo valore per le proprietà di vertici o archi a cardinalità singola. Non è supportato per il caricamento di dati openCypher (vedi Caricamento di dati openCypher).

    Valori consentiti: "TRUE", "FALSE".

    Valore predefinito: "FALSE".

    Come impostazione predefinita o quando updateSingleCardinalityProperties è impostato esplicitamente su "FALSE", il loader considera un nuovo valore come un errore, perché viola la cardinalità singola.

    Quando updateSingleCardinalityProperties è impostato invece su "TRUE", il bulk loader sostituisce il valore esistente con quello nuovo. Se valori di proprietà multipli edge o vertice a cardinalità singola vengono forniti nei file di origine caricati, il valore finale alla fine del caricamento in blocco potrebbe essere uno qualsiasi di questi nuovi valori. Il loader garantisce solo che il valore esistente è stato sostituito da uno di quelli nuovi.

  • queueRequest: si tratta di un parametro flag opzionale che indica se la richiesta di caricamento può essere accodata o meno.

    Non è necessario attendere il completamento di un processo di caricamento prima di emettere quello successivo, perché Neptune può accodare fino a 64 processi alla volta, a condizione che i relativi parametri queueRequest siano tutti impostati su "TRUE". L'ordine di coda dei lavori sarà first-in-first-out (FIFO).

    Se il parametro queueRequest viene omesso o impostato su "FALSE", la richiesta di caricamento avrà esito negativo se un'altra attività di caricamento è già in esecuzione.

    Valori consentiti: "TRUE", "FALSE".

    Valore predefinito: "FALSE".

  • dependencies: si tratta di un parametro facoltativo che può rendere subordinata una richiesta di caricamento in coda al completamento di uno o più processi precedenti nella coda.

    Neptune può accodare fino a 64 richieste di caricamento alla volta, se i relativi parametri queueRequest sono impostati su "TRUE". Il parametro dependencies consente di rendere l'esecuzione di tale richiesta in coda dipendente dal completamento corretto di una o più richieste precedenti specificate nella coda.

    Ad esempio, se Job-A e Job-B del caricamento sono indipendenti l'una dall'altra, ma Job-C richiede che Job-A e Job-B siano completate prima del suo avvio, procedere come segue:

    1. Inviare load-job-A e load-job-B una dopo l'altra in qualsiasi ordine e salvare i loro id di caricamento.

    2. Inviare load-job-C con gli id di caricamento delle due attività nel campo dependencies:

    "dependencies" : ["job_A_load_id", "job_B_load_id"]

    A causa del parametro dependencies, il bulk loader non avvia Job-C fino a quando Job-A e Job-B non sono state completate correttamente. Se una di queste attività non riesce, l'attività non verrà eseguita e il suo stato sarà impostato su LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED.

    È possibile impostare più livelli di dipendenza in questo modo, in modo che l'errore di un'attività causi l'annullamento di tutte le richieste direttamente o indirettamente dipendenti da essa.

  • userProvidedEdgeIds— Questo parametro è richiesto solo quando si caricano dati OpenCypher che contengono relazioni. IDs Deve essere incluso e impostato su True quando la relazione IDs OpenCypher viene fornita esplicitamente nei dati di caricamento (consigliato).

    Se userProvidedEdgeIds è assente o è impostato su True, in ogni file delle relazioni all'interno del caricamento deve esistere una colonna :ID.

    Se userProvidedEdgeIds è presente ed è impostato su False, i file delle relazioni all'interno del caricamento non devono contenere una colonna :ID. Lo strumento di caricamento Neptune genera automaticamente un ID per ogni relazione.

    È utile fornire una relazione in modo IDs esplicito in modo che il caricatore possa riprendere il caricamento dopo la correzione dell'errore nei dati CSV, senza dover ricaricare le relazioni che sono già state caricate. Se la relazione IDs non è stata assegnata in modo esplicito, il loader non può riprendere un caricamento non riuscito se è stato necessario correggere un file di relazione e deve invece ricaricare tutte le relazioni.

  • accessKey: [obsoleto] ID chiave di accesso di un ruolo IAM con accesso al bucket S3 e ai file di dati.

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

    Per ulteriori informazioni, consulta l'argomento relativo alle chiavi di accesso (ID chiave di accesso e chiave di accesso segreta).

  • secretKey: [obsoleto] il parametro iamRoleArn è invece consigliato. Per informazioni su come creare un ruolo che abbia accesso ad Amazon S3 e su come associarlo a un cluster Neptune, vedi Prerequisiti: ruolo IAM e accesso ad Amazon S3.

    Per ulteriori informazioni, consulta l'argomento relativo alle chiavi di accesso (ID chiave di accesso e chiave di accesso segreta).

Considerazioni speciali per il caricamento dei dati openCypher

  • Quando si caricano dati openCypher in formato CSV, il parametro format deve essere impostato su opencypher.

  • Il parametro updateSingleCardinalityProperties non è supportato per i caricamenti openCypher perché tutte le proprietà openCypher hanno cardinalità singola. Il formato di caricamento openCypher non supporta gli array e se un valore ID appare più di una volta, viene considerato un duplicato o un errore di inserimento (vedi sotto).

  • Lo strumento di caricamento Neptune gestisce i duplicati che incontra nei dati openCypher come segue:

    • Se lo strumento di caricamento incontra più righe con lo stesso ID nodo, queste vengono unite utilizzando la seguente regola:

      • Tutte le etichette nelle righe vengono aggiunte al nodo.

      • Per ogni proprietà, viene caricato solo uno dei valori della proprietà. La selezione di quello da caricare non è deterministica.

    • Se lo strumento di caricamento incontra più righe con lo stesso ID relazione, ne viene caricata solo una. La selezione di quella da caricare non è deterministica.

    • Lo strumento di caricamento non aggiorna mai i valori delle proprietà di un nodo o di una relazione esistente nel database se incontra dati di caricamento con l'ID del nodo o della relazione esistente. Tuttavia, carica le etichette e le proprietà dei nodi che non sono presenti nel nodo o nella relazione esistente.

  • Sebbene non sia necessario eseguire assegnazioni IDs alle relazioni, di solito è una buona idea (vedi il parametro sopra riportato). userProvidedEdgeIds Senza una relazione esplicita IDs, il caricatore deve ricaricare tutte le relazioni in caso di errore in un file di relazione, anziché riprendere il caricamento dal punto in cui non era riuscito.

    Inoltre, se i dati di caricamento non contengono una relazione esplicita IDs, il loader non ha modo di rilevare relazioni duplicate.

Di seguito è illustrato un esempio di un comando di caricamento openCypher:

curl -X POST https://your-neptune-endpoint:port/loader \ -H 'Content-Type: application/json' \ -d ' { "source" : "s3://bucket-name/object-key-name", "format" : "opencypher", "userProvidedEdgeIds": "TRUE", "iamRoleArn" : "arn:aws:iam::account-id:role/role-name", "region" : "region", "failOnError" : "FALSE", "parallelism" : "MEDIUM", }'

La risposta strumento di caricamento è la stessa del normale. Per esempio:

{ "status" : "200 OK", "payload" : { "loadId" : "guid_as_string" } }

Sintassi della risposta dello strumento di caricamento Neptune

{ "status" : "200 OK", "payload" : { "loadId" : "guid_as_string" } }
200 OK

Il processo di caricamento avviato correttamente restituisce il codice 200.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.