Utilizzo del servizio Neptune-Export per esportare i dati di 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à.

Utilizzo del servizio Neptune-Export per esportare i dati di Neptune

Puoi utilizzare la procedura seguente per esportare dati dal tuo cluster database Neptune ad Amazon S3 con il servizio Neptune-Export:

Installazione del servizio Neptune-Export

Utilizza il modello AWS CloudFormation per creare lo stack:

Per installare il servizio Neptune-Export
  1. Per avviare lo stack AWS CloudFormation nella console AWS CloudFormation, scegli uno dei pulsanti Avvia lo stack nella seguente tabella.

    Region Vista Visualizzazione in Designer Avvia
    Stati Uniti orientali (Virginia settentrionale) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Stati Uniti orientali (Ohio) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Stati Uniti occidentali (California settentrionale) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Stati Uniti occidentali (Oregon) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Canada (Centrale) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Sud America (San Paolo) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Stoccolma) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Irlanda) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Londra) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Parigi) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Europa (Francoforte) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Medio Oriente (Bahrein) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Medio Oriente (Emirati Arabi Uniti) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Israele (Tel Aviv) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Africa (Città del Capo) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Hong Kong) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Tokyo) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Seul) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Singapore) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Sydney) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacifico (Mumbai) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Cina (Pechino) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    Cina (Ningxia) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    AWS GovCloud (Stati Uniti occidentali) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
    AWS GovCloud (Stati Uniti orientali) Visualizzazione Visualizzazione in Designer Orange button labeled "Launch Stack" with an arrow icon.
  2. Nella pagina Select Template (Seleziona modello), selezionare Next (Avanti).

  3. Nella pagina Specifica i dettagli del modello imposta i parametri seguenti:

    • VPC: il modo più semplice per configurare il servizio Neptune-Export è installarlo nello stesso VPC Amazon del database Neptune. Se desideri installarlo in un VPC separato, puoi utilizzare il peering VPC per stabilire la connettività tra il VPC del cluster database Neptune e il VPC del servizio Neptune-Export.

    • Subnet1: il servizio Neptune-Export deve essere installato in una sottorete del VPC che consenta il traffico HTTPS IPv4 in uscita dalla sottorete a Internet. In questo modo il servizio Neptune-Export può chiamare l'API Batch AWS per creare ed eseguire un processo di esportazione.

      Se hai creato il tuo cluster Neptune utilizzando il modello CloudFormation nella pagina Creazione di un cluster DB della documentazione di Neptune, puoi usare gli output PrivateSubnet2 e PrivateSubnet1 di tale stack per popolare questo parametro e quello successivo.

    • Subnet2: una seconda sottorete nel VPC che consenta il traffico HTTPS IPv4 in uscita dalla sottorete a Internet.

    • EnableIAM: imposta questo parametro su true per proteggere l'API Neptune-Endpoint con AWS Identity and Access Management (IAM). Questa impostazione è consigliata.

      Se abiliti l'autenticazione IAM, devi firmare tramite Sigv4 tutte le richieste HTTPS all'endpoint. Puoi utilizzare uno strumento come awscurl per firmare le richieste per tuo conto.

    • VPCOnly: impostando questo parametro su true si rende l'endpoint di esportazione solo VPC, affinché sia possibile accedervi solo dall'interno del VPC in cui è installato il servizio Neptune-Export. In questo modo, si limita l'utilizzo dell'API Neptune-Export solo all'interno di tale VPC.

      Consigliamo di impostare VPCOnly su true.

    • NumOfFilesULimit : specifica un valore compreso tra 10.000 e 1.000.000 per nofile nella proprietà del container ulimits. Il valore predefinito è 10.000 ed è consigliabile lasciarlo invariato a meno che il grafo non contenga un numero elevato di etichette univoche.

    • PrivateDnsEnabled (booleano): indica se associare o meno una zona ospitata privata al VPC specificato. Il valore predefinito è true.

      Quando viene creato un endpoint VPC con questo flag abilitato, tutto il traffico Gateway API viene instradato attraverso l'endpoint VPC e le chiamate all'endpoint Gateway API pubblico vengono disabilitate. Se si imposta PrivateDnsEnabled su false, l'endpoint Gateway API pubblico è abilitato, ma il servizio di esportazione Neptune non può essere connesso tramite l'endpoint DNS privato. È quindi possibile utilizzare un endpoint DNS pubblico per l'endpoint VPC per chiamare il servizio di esportazione, come descritto qui.

  4. Seleziona Successivo.

  5. Nella pagina Opzioni, scegli Avanti.

  6. Nella pagina Revisione, seleziona la prima casella di controllo per accettare la creazione delle risorse IAM da parte di AWS CloudFormation. Seleziona la seconda casella di controllo per confermare CAPABILITY_AUTO_EXPAND per il nuovo stack.

    Nota

    CAPABILITY_AUTO_EXPAND conferma in modo esplicito che, durante la creazione dello stack, le macro verranno ampliate senza revisione preventiva. Gli utenti spesso creano un set di modifiche da un modello elaborato, quindi le modifiche apportate dalle macro possono essere riesaminate prima dell’effettiva creazione dello stack. Per ulteriori informazioni, consulta l'API CreateStack di AWS CloudFormation.

    Quindi, scegli Crea.

Abilitazione dell'accesso a Neptune da Neptune-Export

Una volta completata l'installazione di Neptune-Export, aggiorna il gruppo di sicurezza VPC di Neptune per consentire l'accesso da Neptune-Export. Una volta creato lo stack AWS CloudFormation di Neptune-Export, la scheda Output include un ID NeptuneExportSecurityGroup. Aggiorna il tuo gruppo di sicurezza VPC di Neptune per consentire l'accesso da questo gruppo di sicurezza Neptune-Export.

Abilitazione dell'accesso all'endpoint Neptune-Export da un'istanza EC2 basata su VPC

Se imposti l'endpoint Neptune-Export come solo VPC, puoi accedervi solo dall'interno del VPC in cui è installato il servizio Neptune-Export. Per consentire la connettività da un'istanza Amazon EC2 nel VPC da cui è possibile effettuare chiamate API Neptune-Export, collega il gruppo di sicurezza NeptuneExportSecurityGroup creato dallo stack AWS CloudFormation a tale istanza Amazon EC2.

Esecuzione di un processo Neptune-Export con l'API Neptune-Export

La scheda Output dello stack AWS CloudFormation include anche NeptuneExportApiUri. Usa questo URI ogni volta che invii una richiesta all'endpoint Neptune-Export.

Esecuzione di un processo di esportazione
  • Assicurati che all'utente o al ruolo in cui viene eseguita l'esportazione sia stata concessa l'autorizzazione execute-api:Invoke.

  • Se hai impostato il parametro EnableIAM su true nello stack AWS CloudFormation quando hai installato Neptune-Export, devi Sigv4 firmare tutte le richieste all'API Neptune-Export. Ti consigliamo di utilizzare awscurl per inviare le richieste all'API. Tutti gli esempi riportati qui presuppongono che l'autenticazione IAM sia abilitata.

  • Se hai impostato il parametro VPCOnly su true nello stack AWS CloudFormation durante l'installazione di Neptune-Export, devi chiamare l'API Neptune-Export dall'interno del VPC, in genere da un'istanza Amazon EC2 disponibile nel VPC.

Per iniziare a esportare i dati, invia una richiesta all'endpoint NeptuneExportApiUri con i parametri di richiesta command e outputS3Pathe un parametro di esportazione endpoint.

Quello che segue è un esempio di richiesta che esporta i dati del grafo delle proprietà da Neptune e li pubblica in Amazon S3:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Analogamente, ecco un esempio di richiesta che esporta i dati RDF da Neptune ad Amazon S3:

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)" } }'

Se si omette il parametro della richiesta command, per impostazione predefinita Neptune-Export tenta di esportare i dati del grafo delle proprietà da Neptune.

Se il comando precedente è stato eseguito correttamente, l'output avrà un aspetto simile al seguente:

{ "jobName": "neptune-export-abc12345-1589808577790", "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f" }

Monitoraggio del processo di esportazione appena avviato

Per monitorare un processo in esecuzione, aggiungi il relativo jobID a NeptuneExportApiUri, in modo simile al seguente:

curl \ (your NeptuneExportApiUri)(the job ID)

Se il servizio non ha ancora avviato il processo di esportazione, restituirà la risposta seguente:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "pending" }

Quando si ripete il comando dopo l'avvio del processo di esportazione, la risposta sarà simile alla seguente:

{ "jobId": "c86258f7-a9c9-4f8c-8f4c-bbfe76d51c8f", "status": "running", "logs": "https://us-east-1.console.aws.amazon.com/cloudwatch/home?..." }

Se apri i log in File di log Amazon CloudWatch utilizzando l'URI fornito dalla chiamata di stato, puoi monitorare in dettaglio l'avanzamento dell'esportazione:

Screenshot della schermata di File di log Amazon CloudWatch.

Annullamento di un processo di esportazione in esecuzione

Per annullare un processo di esportazione in esecuzione tramite la AWS Management Console
  1. Apri la console AWS Batch all'indirizzo https://console.aws.amazon.com/batch/.

  2. Scegliere Jobs (Processi).

  3. Individua il processo in esecuzione da annullare, in base al jobID corrispondente.

  4. Seleziona Annulla processo.

Per annullare un processo di esportazione in esecuzione tramite l'API Neptune-Export:

Invia una richiesta HTTP DELETE a NeptuneExportApiUri con l'aggiunta di jobID, in questo modo:

curl -X DELETE \ (your NeptuneExportApiUri) (the job ID)