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à.
Questo esempio illustra come caricare dati in Amazon Neptune. Salvo diversa indicazione, devi seguire questi passaggi da un'istanza Amazon Elastic Compute Cloud (Amazon EC2) nella stessa istanza 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 GremlinSe si utilizza openCypher per eseguire query sul grafo, Neptune può anche caricare i dati in un formato
CSV
specifico di openCypher, come descritto in Formato di caricamento dei dati openCypher.Se si utilizza SPARQL, Neptune può caricare i dati in diversi formati RDF, come descritto in Formati dei dati di caricamento RDF.
-
Ruolo IAM che deve essere assunto dall'istanza database Neptune dotato di una policy IAM che consenta 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: ruolo IAM e accesso ad Amazon S3.
Nota
L'API Neptune
Load
necessita solo dell'accesso in lettura ai file di dati. Non è necessario che la policy IAM conceda l'accesso in scrittura o l'accesso all'intero bucket. Endpoint VPC Amazon S3. Per ulteriori informazioni, consulta la sezione Creazione di un endpoint VPC Amazon S3.
Creazione di un endpoint VPC Amazon S3
Lo strumento di caricamento Neptune richiede un endpoint VPC per Amazon S3.
Per configurare l'accesso ad Amazon S3
Accedi AWS Management Console e apri la console Amazon VPC all'indirizzo. https://console.aws.amazon.com/vpc/
Nel riquadro di navigazione a sinistra, scegli Endpoints (Endpoint).
Scegliere Create Endpoint (Crea endpoint).
-
Scegli il Service Name (Nome servizio)
com.amazonaws.
.region
.s3Nota
Se la regione indicata qui non è corretta, verifica che lo sia la regione della console.
Scegli il VPC che contiene l'istanza database Neptune.
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.
Scegliere Create Endpoint (Crea endpoint).
Per ulteriori informazioni sulla creazione dell'endpoint, consulta Endpoint VPC nella Guida per l'utente di Amazon VPC. Per informazioni sulle limitazioni degli endpoint VPC, consulta Endpoint VPC per Amazon S3.
Per caricare i dati in un'istanza database Neptune
-
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' EC2 istanza 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. -
Da una finestra a riga di comando, inserisci quanto segue per eseguire lo strumento di caricamento Neptune, utilizzando i valori corretti per l'endpoint, il percorso Amazon S3, il formato e l'ARN del ruolo IAM.
Il parametro
format
può essere uno dei seguenti valori:csv
per Gremlin,opencypher
per openCypher ontriples
,nquads
,turtle
erdfxml
per 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 (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
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 su come creare un ruolo IAM e associarlo a un cluster Neptune, vedi Prerequisiti: ruolo IAM 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 parametro
source
accetta un URI Amazon S3 che punta a un file singolo 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.
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
Il parametro
format
può essere uno dei seguenti:Formato CSV Gremlin (
csv
) per i grafi di proprietà GremlinFormato CSV openCypher (
opencypher
) per i grafi di proprietà openCypherFormato N -Triples (
ntriples
) per RDF/SPARQLFormato N-Quads (
nquads
) per RDF/SPARQLFormato RDF/XML (
rdfxml
) per RDF/SPARQLFormato Turtle (
turtle
) per RDF/SPARQL
Il parametro opzionale
parallelism
consente di limitare il numero di thread utilizzati nel processo di caricamento in blocco. Può essere impostato suLOW
,MEDIUM
,HIGH
oOVERSUBSCRIBE
.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. -
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
" } } -
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 API Neptune Loader Get-Status .
-
(Facoltativo) Annullare il processo
Load
.inserisci il comando seguente per eseguire un
Delete
del processo dello strumento di caricamento con il valoreid
del processo della Fase 3:curl -X DELETE 'https://
your-neptune-endpoint
:port
/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5
'Il comando
DELETE
restituisce il codice HTTP200 OK
ad annullamento eseguito.I dati provenienti dai file dal processo di caricamento terminato non vengono ripristinati. I dati rimangono nell'istanza database Neptune.