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 di Amazon Neptune con notebook a grafi
Che siate alle prime armi con i grafici e vogliate imparare e sperimentare, oppure che siate esperti e vogliate affinare le vostre query, l'ambiente di lavoro Neptune offre un ambiente di sviluppo interattivo (IDE) che può aumentare la produttività durante la creazione di applicazioni grafiche. Workbench fornisce un'interfaccia intuitiva per interagire con il database Neptune, scrivere query e visualizzare i dati.
Utilizzando il AWS CloudFormation modello per configurare il database Neptune e Workbench per sviluppare le applicazioni grafiche, è possibile iniziare a usare Neptune in modo rapido ed efficiente, senza la necessità di strumenti aggiuntivi. Ciò consente di concentrarsi sulla creazione delle applicazioni anziché sulla configurazione dell'infrastruttura sottostante.
Neptune fornisce
È possibile ospitare questi notebook in vari modi:
-
L'ambiente di lavoro Neptune ti consente di eseguire notebook Jupyter in un ambiente completamente gestito, ospitato su SageMaker Amazon, e carica automaticamente l'ultima versione del progetto Neptune Graph Notebook per te.
Configurare Workbench nella console Neptune quando si crea un nuovo database Neptune è facile. Nota
Quando si crea un'istanza di notebook Neptune, vengono fornite due opzioni per l'accesso alla rete: accesso diretto tramite SageMaker Amazon (impostazione predefinita) e accesso tramite un. VPC In entrambe le opzioni, il notebook richiede l'accesso a Internet per recuperare le dipendenze dei pacchetti per l'installazione dell'ambiente Neptune. La mancanza di accesso a Internet impedirà la creazione di un'istanza del notebook Neptune.
Puoi anche installare Jupyter in locale. Potrai così eseguire i notebook dal laptop, collegato a Neptune o a un'istanza locale di uno dei database a grafo open source. In quest'ultimo caso, avrai la possibilità sperimentare con la tecnologia dei grafi quanto desideri prima di spendere un centesimo. Quindi, quando sei pronto, puoi passare senza problemi all'ambiente di produzione gestito offerto da Neptune.
Utilizzo Neptune Workbench per ospitare i notebook Neptune
Per iniziare, Neptune offre tipi di istanze T3
e T4g
a meno di 0,10 USD all'ora. Le risorse di Workbench ti vengono fatturate tramite Amazon SageMaker, separatamente dalla fatturazione per Neptune. Consulta la pagina dei prezzi di Neptune
È possibile creare un Jupyter o un JupyterLab notebook utilizzando l'ambiente Neptune in due modi: AWS Management Console
Usa il menu Configurazione Notebook durante la creazione di un nuovo cluster database Neptune. A tale scopo, segui la procedura descritta in Avvio di un cluster database Neptune mediante la console AWS Management Console.
Usa il menu Notebook nel riquadro di navigazione a sinistra dopo che il tuo cluster database è già stato creato. A tale scopo, attenersi alla procedura riportata di seguito.
Per creare un Jupyter o un notebook usando il menu Notebooks JupyterLab
Nel riquadro di navigazione sinistro, scegliere Notebooks (Notebook).
Seleziona Crea notebook.
Nell'elenco Cluster scegli il tuo cluster database Neptune. Se non si dispone ancora di un cluster DB, scegliere Create cluster (Crea cluster) per crearne uno.
Seleziona un tipo di istanza Notebook.
Fornire un nome al notebook e, facoltativamente, una descrizione.
-
A meno che tu non abbia già creato un ruolo AWS Identity and Access Management (IAM) per i tuoi notebook, scegli Crea un IAM ruolo e inserisci il nome del ruolo. IAM
Nota
Se scegli di riutilizzare un IAM ruolo creato per un notebook precedente, la policy del ruolo deve contenere le autorizzazioni corrette per accedere al cluster Neptune DB che stai utilizzando. Puoi verificarlo controllando che i componenti della risorsa ARN oggetto dell'
neptune-db:*
azione corrispondano a quel cluster. Le autorizzazioni configurate in modo errato provocano errori di connessione quando si tenta di eseguire i comandi magic dei notebook. Seleziona Crea notebook. Il processo di creazione può richiedere da 5 a 10 minuti prima che tutto sia pronto.
Dopo aver creato il notebook, selezionalo e scegli Apri Jupyter o Apri. JupyterLab
La console può creare un ruolo AWS Identity and Access Management (IAM) per i tuoi notebook oppure puoi crearne uno tu stesso. Il criterio per questo ruolo dovrebbe includere quanto segue:
{If you do choose to re-use "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::aws-neptune-notebook", "arn:aws:s3:::aws-neptune-notebook/*" "arn:aws:s3:::aws-neptune-notebook-(AWS region)", "arn:aws:s3:::aws-neptune-notebook-(AWS region)/*" ] }, { "Effect": "Allow", "Action": "neptune-db:*", "Resource": [ "arn:aws:neptune-db:(AWS region):(AWS account ID):(Neptune resource ID)/*" ] } ] }
Nota che la seconda dichiarazione della policy precedente elenca una o più risorse del cluster Neptune. IDs
Inoltre, il ruolo dovrebbe stabilire la seguente relazione di trust:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Ancora una volta, la preparazione può richiedere da 5 a 10 minuti.
È possibile configurare il nuovo notebook per funzionare con Neptune ML, come spiegato in Configurazione manuale di un notebook Neptune per Neptune ML.
Usare Python per connettere un SageMaker notebook generico a Neptune
Collegare un notebook a Neptune è facile se avete installato Neptune magics, ma è anche possibile collegare un notebook SageMaker a Neptune usando Python, anche se non utilizzate un notebook Neptune.
Passaggi da eseguire per connettersi a Neptune in una cella di un notebook SageMaker
-
Installa il client Gremlin Python:
!pip install gremlinpython
I notebook Neptune installano il client Gremlin Python per te, quindi questo passaggio è necessario solo se utilizzi un semplice notebook. SageMaker
-
Per connetterti ed eseguire una query Gremlin, scrivi il codice seguente:
from gremlin_python import statics from gremlin_python.structure.graph import Graph from gremlin_python.process.graph_traversal import __ from gremlin_python.process.strategies import * from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection from gremlin_python.driver.aiohttp.transport import AiohttpTransport from gremlin_python.process.traversal import * import os port = 8182 server = '
(your server endpoint)
' endpoint = f'wss://{server}:{port}/gremlin' graph=Graph() connection = DriverRemoteConnection(endpoint,'g', transport_factory=lambda:AiohttpTransport(call_from_event_loop=True)) g = graph.traversal().withRemote(connection) results = (g.V().hasLabel('airport') .sample(10) .order() .by('code') .local(__.values('code','city').fold()) .toList()) # Print the results in a tabular form with a row index for i,c in enumerate(results,1): print("%3d %4s %s" % (i,c[0],c[1])) connection.close()
Nota
Se stai usando una versione del client Gremlin Python precedente alla 3.5.0, questa riga:
connection = DriverRemoteConnection(endpoint,'g', transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))
Sarà solo:
connection = DriverRemoteConnection(endpoint,'g')
Abilitazione CloudWatch dei log sui notebook Neptune
CloudWatch i log sono ora abilitati di default per i notebook Neptune. Se hai un notebook più vecchio che non produce CloudWatch registri, segui questi passaggi per abilitarli manualmente:
Accedi a AWS Management Console e apri la SageMaker console
. Nel riquadro di navigazione a sinistra scegli Notebook, quindi Istanze notebook. Cerca il nome del notebook Neptune per il quale desideri abilitare i log.
Vai alla pagina dei dettagli selezionando il nome dell'istanza notebook.
Se l'istanza notebook è in esecuzione, seleziona il pulsante Arresta in alto a destra nella pagina dei dettagli del notebook.
In Autorizzazioni e crittografia c'è un campo per il IAMruolo ARN. Seleziona il link in questo campo per accedere al IAM ruolo con cui viene eseguita questa istanza del notebook.
-
Crea la policy seguente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery" ], "Resource": "*" } ] }
Salva questa nuova politica e allegala al IAM ruolo trovato nel passaggio 4.
Fai clic su Start in alto a destra nella pagina dei dettagli dell'istanza del SageMaker notebook.
Quando inizia il flusso dei log, visualizzerai un collegamento Visualizza log sotto il campo denominato Configurazione del ciclo di vita nella parte inferiore sinistra della sezione Impostazioni dell'istanza notebook della pagina dei dettagli.
Se un notebook non si avvia, nella pagina dei dettagli del notebook sulla SageMaker console verrà visualizzato un messaggio che indica che l'avvio dell'istanza del notebook ha impiegato più di 5 minuti. CloudWatch i log relativi a questo problema sono disponibili con questo nome:
(your-notebook-name)
/LifecycleConfigOnStart
Configurazione dei notebook per grafi nel computer locale
Il progetto graph-notebook contiene le istruzioni per configurare i notebook Neptune nel computer locale:
È possibile connettere i notebook locali a un cluster database Neptune o a un'istanza locale o remota di un database a grafo open source.
Utilizzo dei notebook Neptune con i cluster Neptune
Se ti connetti a un cluster Neptune sul back-end, potresti voler eseguire i notebook in Amazon. SageMaker La connessione a Neptune SageMaker può essere più comoda rispetto a un'installazione locale dei notebook e consente di lavorare più facilmente con Neptune ML.
Per istruzioni su come configurare i notebook in SageMaker, consulta Avvio di notebook grafici
Per istruzioni su come installare e configurare Neptune stesso, consulta Configurazione di Amazon Neptune.
È inoltre possibile collegare un'installazione locale dei notebook Neptune a un cluster database Neptune. Questo può essere un po' più complicato perché i cluster Amazon Neptune DB possono essere creati solo in un Amazon Virtual Private Cloud VPC (), che per progettazione è isolato dal mondo esterno. Esistono diversi modi per connettersi a un sistema VPC dall'esterno. Uno consiste nell'utilizzare un sistema di bilanciamento del carico. Un altro è usare il VPC peering (consulta la Amazon Virtual Private Cloud Peering Guide).
Il modo più comodo per la maggior parte delle persone, tuttavia, è connettersi per configurare un server EC2 proxy Amazon all'interno di VPC e quindi utilizzare il SSHtunnellingadditional-databases/neptune
del progetto graph-notebook.
Utilizzo dei notebook Neptune con database a grafo open source
Per iniziare a utilizzare gratuitamente la tecnologia dei grafi, puoi anche usare i notebook Neptune con vari database open source sul back-end. Alcuni esempi sono il server TinkerPop Gremlin
Per utilizzare Gremlin Server come database di back-end, segui questi passaggi:
Il notebook grafico Connecting to a Gremlin
Server. GitHub La cartella di configurazione Gremlin di graph-notebook
. GitHub
Per utilizzare un'istanza locale di Blazegraph come database
Consulta le istruzioni di avvio rapido di Blazegraph per comprendere la configurazione e la configurazione di base necessarie per l'esecuzione
di un'istanza di Blazegraph. Accedi alla cartella di configurazione di Blazegraph graph-notebook contenente i file e le istruzioni necessari per configurare un'istanza Blazegraph locale
GitHub . All'interno del GitHub repository, vai alla directory «blazegraph» e segui le istruzioni fornite per configurare l'istanza Blazegraph locale. Ciò include i passaggi per scaricare il software Blazegraph, configurare i file necessari e avviare il server Blazegraph.
Una volta che hai un'istanza Blazegraph locale in esecuzione, puoi integrarla con la tua applicazione come database di backend per i dati e le query basati su grafici. Fai riferimento alla documentazione e al codice di esempio forniti nel repository graph-notebook per scoprire come connettere l'applicazione all'istanza Blazegraph.
Migrazione dei notebook Neptune da Jupyter a 3 JupyterLab
I notebook Neptune creati prima del 21 dicembre 2022 utilizzano l'ambiente Amazon Linux 1. Puoi migrare i vecchi notebook Jupyter creati prima di quella data nel nuovo ambiente Amazon Linux 2 con JupyterLab 3 seguendo i passaggi descritti in questo post del AWS blog: Migra il tuo lavoro su un'istanza di notebook Amazon con Amazon
Inoltre, esistono alcuni passaggi aggiuntivi che si applicano specificamente alla migrazione dei notebook Neptune al nuovo ambiente:
Prerequisiti specifici di Neptune
Nel ruolo del notebook IAM Neptune sorgente, aggiungi tutte le seguenti autorizzazioni:
{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
(your ebs backup bucket name)
", "arn:aws:s3:::(your ebs backup bucket name)
/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:ListTags" ], "Resource": [ "*" ] }
Assicurati di specificare quello corretto ARN per il bucket S3 che utilizzerai per il backup.
Configurazione del ciclo di vita specifico di Neptune
Quando si crea il secondo script di configurazione del ciclo di vita per il ripristino del backup (da on-create.sh
) come descritto nel post del blog, il nome del ciclo di vita deve seguire il formato aws-neptune-*
, ad esempio aws-neptune-sync-from-s3
Ciò garantisce che LCC possa essere selezionato durante la creazione del notebook nella console Neptune.
Sincronizzazione specifica di Neptune da uno snapshot a una nuova istanza
Per i passaggi descritti nel post del blog per la sincronizzazione da uno snapshot a una nuova istanza, ecco le modifiche specifiche di Neptune:
Nel passaggio 4 scegli notebook-al2-v2.
Nel passaggio 5, riutilizza il IAM ruolo dal notebook Neptune di origine.
-
Tra i passaggi 7 e 8:
In Impostazioni dell'istanza notebook imposta un nome con il formato
aws-neptune-*
.Apri la finestra delle impostazioni di rete e seleziona lo stesso gruppoVPC, Subnet e Security, del notebook di origine.
Passaggi specifici di Neptune dopo la creazione del nuovo notebook
Seleziona il pulsante Apri Jupyter per il notebook. Una volta visualizzato il file
SYNC_COMPLETE
nella directory principale, procedi al passaggio successivo.Vai alla pagina dell'istanza del notebook nella console. SageMaker
Arresta il notebook.
Seleziona Edit (Modifica).
Nelle impostazioni dell'istanza notebook modifica il campo Configurazione del ciclo di vita selezionando il ciclo di vita originale del notebook Neptune di origine. Tieni presente che questo non è il ciclo EBS di vita del backup.
Seleziona Aggiorna impostazioni notebook.
Riavvia il notebook.
Con le modifiche descritte qui ai passaggi descritti nel post del blog, i notebook grafici dovrebbero ora essere migrati su una nuova istanza di notebook Neptune che utilizza l'ambiente Amazon Linux 2 e 3. JupyterLab Saranno visibili per l'accesso e la gestione nella pagina Neptune di, e ora puoi continuare AWS Management Console il lavoro da dove l'avevi interrotto selezionando Apri Jupyter o Apri. JupyterLab