Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de Amazon Neptune con libretas de gráficos
Tanto si es nuevo en el mundo de los gráficos y quiere aprender y experimentar, como si tiene experiencia y desea afinar sus consultas, la mesa de trabajo de Neptune ofrece un entorno de desarrollo interactivo (IDE) que puede aumentar su productividad al crear aplicaciones gráficas. Workbench proporciona una interfaz fácil de usar para interactuar con la base de datos de Neptune, escribir consultas y visualizar los datos.
Si utiliza la AWS CloudFormation plantilla para configurar su base de datos de Neptuno y Workbench para desarrollar sus aplicaciones gráficas, puede empezar a utilizar Neptuno de forma rápida y eficaz, sin necesidad de herramientas adicionales. Esto le permite centrarse en crear sus aplicaciones en lugar de configurar la infraestructura subyacente.
Neptune proporciona Jupyter
Puede alojar estos cuadernos de varias maneras diferentes:
-
El entorno de trabajo Neptune le permite ejecutar los cuadernos de Jupyter en un entorno totalmente gestionado, alojado en Amazon SageMaker, y carga automáticamente la última versión del proyecto de bloc de notas de gráficos Neptune.
Es fácil configurar el entorno de trabajo en la consola de Neptune al crear una nueva base de datos de Neptune. nota
Al crear una instancia de bloc de notas de Neptune, se te proporcionan dos opciones de acceso a la red: acceso directo a través de Amazon SageMaker (la opción predeterminada) y acceso a través de un. VPC En cualquiera de las dos opciones, el portátil requiere acceso a Internet para recuperar las dependencias de los paquetes para instalar el entorno de trabajo de Neptune. La falta de acceso a Internet provocará un error en la creación de una instancia de bloc de notas de Neptune.
También puede instalar Jupyter de forma local. Esto le permite ejecutar los cuadernos desde su portátil, conectado a Neptune o a una instancia local de una de las bases de datos de gráficos de código abierto. En este último caso, puede experimentar con la tecnología de gráficos todo lo que desee sin gastar ni un céntimo. Luego, cuando esté listo, podrá pasar sin problemas al entorno de producción administrado que ofrece Neptune.
Uso del entorno de trabajo de Neptune para alojar los cuadernos de Neptune
Neptune ofrece los tipos de instancia T3
y T4g
con los que puede empezar por menos de 0,10 USD por hora. Los recursos de Workbench se facturan a través de Amazon SageMaker, aparte de la facturación de Neptune. Consulte la página de precios de Neptune
Puede crear un Jupyter o un JupyterLab cuaderno con el banco de trabajo Neptune de dos maneras AWS Management Console :
Utilice el menú de Configuración de cuaderno al crear un nuevo clúster de base de datos de Neptune. Para ello, siga los pasos que se indican en Lanzamiento de un clúster de base de datos de Neptune mediante la AWS Management Console.
Utilice el menú Cuadernos del panel de navegación izquierdo cuando ya se haya creado el clúster de base de datos. Para ello, siga estos pasos.
Para crear un Jupyter o un bloc de notas mediante el menú Cuadernos JupyterLab
En el panel de navegación de la izquierda, seleccione Notebooks (Bloc de notas).
Elija Crear cuaderno.
En la lista de clústeres, elija el clúster de base de datos de Neptune. Si todavía no tiene ningún clúster de base de datos, seleccione Create cluster (Crear clúster) para crear uno.
Seleccione un tipo de instancia de cuaderno.
Asigne un nombre al bloc de notas y, opcionalmente, una descripción.
-
A menos que ya haya creado un rol AWS Identity and Access Management (IAM) para sus cuadernos, elija Crear un IAM rol e introduzca un nombre para el IAM rol.
nota
Si decide volver a utilizar un IAM rol creado para un bloc de notas anterior, la política de roles debe contener los permisos correctos para acceder al clúster de base de datos de Neptune que esté utilizando. Para comprobarlo, compruebe que los componentes del recurso ARN de la
neptune-db:*
acción coincidan con ese clúster. Los permisos configurados de forma incorrecta provocan errores de conexión al intentar ejecutar los comandos mágicos del cuaderno. Elija Crear cuaderno. El proceso de creación puede tardar entre 5 y 10 minutos antes de que todo esté listo.
Una vez creado el bloc de notas, selecciónelo y, a continuación, elija Abrir Jupyter o Abrir. JupyterLab
La consola puede crear un rol AWS Identity and Access Management (IAM) para tus blocs de notas o puedes crearlo tú mismo. La política para este rol debe incluir lo siguiente:
{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)/*" ] } ] }
Tenga en cuenta que la segunda declaración de la política anterior enumera uno o más recursos del clúster de Neptune. IDs
Además, el rol debe establecer la siguiente relación de confianza:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Una vez más, preparar todo para que funcione puede llevar de 5 a 10 minutos.
Puede configurar el nuevo cuaderno para que funcione con Neptune ML, tal y como se explica en Configuración manual de un cuaderno de Neptune para Neptune ML.
Uso de Python para conectar un SageMaker cuaderno genérico a Neptuno
Conectar una computadora portátil a Neptuno es fácil si tiene instalada la magia de Neptuno, pero también es posible conectar una computadora portátil a SageMaker Neptuno usando Python, incluso si no está usando una computadora portátil Neptuno.
Pasos a seguir para conectarse a Neptune en una celda portátil SageMaker
-
Instale el cliente Python de Gremlin:
!pip install gremlinpython
Las libretas Neptune instalan el cliente Python Gremlin por ti, por lo que este paso solo es necesario si utilizas una libreta normal. SageMaker
-
Escriba un código como el siguiente para conectarse y emitir una consulta de Gremlin:
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
Si está usando una versión del cliente Python de Gremlin anterior a la 3.5.0, esta línea:
connection = DriverRemoteConnection(endpoint,'g', transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))
Simplemente sería:
connection = DriverRemoteConnection(endpoint,'g')
Habilitación CloudWatch de registros en los cuadernos Neptune
CloudWatch Los registros ahora están habilitados de forma predeterminada para los cuadernos Neptune. Si tiene un portátil antiguo que no produce CloudWatch registros, siga estos pasos para habilitarlos manualmente:
Inicie sesión en la SageMaker consola AWS Management Console y ábrala
. En el panel de navegación de la izquierda, seleccione Cuaderno y, a continuación, Instancias de cuaderno. Busque el nombre del cuaderno de Neptune para el que desea habilitar los registros.
Seleccione el nombre de esa instancia de cuaderno para ir a la página de detalles.
Si la instancia del cuaderno se está ejecutando, seleccione el botón Detener, situado en la parte superior derecha de la página de detalles del cuaderno.
En Permisos y cifrado hay un campo para el IAMrol ARN. Seleccione el enlace de este campo para ir al IAM rol con el que se ejecuta esta instancia de notebook.
-
Cree la política siguiente:
{ "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": "*" } ] }
Guarde esta nueva política y adjúntela al IAM rol que se encuentra en el paso 4.
Haz clic en Iniciar en la parte superior derecha de la página de detalles de la instancia del SageMaker bloc de notas.
Cuando los registros comiencen a fluir, debería ver el enlace Ver registros debajo del campo denominado Configuración del ciclo de vida, cerca de la parte inferior izquierda de la sección Configuración de instancias de cuaderno de la página de detalles.
Si un bloc de notas no se inicia, aparecerá un mensaje en la página de detalles del bloc de notas de la SageMaker consola que indica que la instancia del bloc de notas ha tardado más de 5 minutos en iniciarse. CloudWatch Los registros relacionados con este problema se encuentran con este nombre:
(your-notebook-name)
/LifecycleConfigOnStart
Configuración de cuadernos de gráficos en una máquina local
El proyecto de cuaderno de gráficos incluye instrucciones para configurar los cuadernos de Neptune en una máquina local:
Puede conectar sus cuadernos locales a un clúster de base de datos de Neptune o a una instancia local o remota de una base de datos de gráficos de código abierto.
Uso de cuadernos de Neptune con clústeres de Neptune
Si te estás conectando a un clúster de Neptune en el back-end, quizás quieras ejecutar los cuadernos en Amazon. SageMaker Conectarse a Neptune desde SageMaker puede resultar más cómodo que desde una instalación local de los portátiles, y le permitirá trabajar más fácilmente con Neptune ML.
Para obtener instrucciones sobre cómo configurar las libretas en SageMaker, consulta Cómo lanzar graph-notebook con Amazon
Para obtener instrucciones sobre cómo configurar Neptune, consulte Configuración de Amazon Neptune.
También puede conectar una instalación local de los cuadernos de Neptune a un clúster de base de datos de Neptune. Esto puede resultar algo más complicado porque los clústeres de bases de datos de Amazon Neptune solo se pueden crear en una Amazon Virtual Private Cloud (VPC), que, por diseño, está aislada del mundo exterior. Existen varias formas de conectarse a una VPC desde fuera de ella. Una de ellas es usar un equilibrador de carga. Otra es utilizar el VPC peering (consulte la Guía de peering de Amazon Virtual Private Cloud).
Sin embargo, la forma más cómoda para la mayoría de las personas es conectarse para configurar un servidor EC2 proxy de Amazon dentro del VPC y, a continuación, utilizar la SSHtunelizaciónadditional-databases/neptune
carpeta del proyecto de cuaderno de gráficos
Uso de cuadernos de Neptune con bases de datos de gráficos de código abierto
Para empezar a utilizar la tecnología de gráficos sin costo alguno, también puede utilizar los cuadernos de Neptune con varias bases de datos de código abierto en el backend. Algunos ejemplos son el servidor TinkerPop Gremlin
Para usar Gremlin Server como base de datos de fondo, siga estos pasos:
La carpeta Conectar un cuaderno gráfico a un servidor Gremlin
. GitHub La carpeta de configuración Gremlin del cuaderno gráfico
. GitHub
Para usar una instancia local de Blazegraph como base
Revisa las instrucciones de inicio rápido de Blazegraph
para comprender la instalación básica y la configuración necesarias para ejecutar una instancia de Blazegraph. Acceda a la GitHub carpeta de configuración de Blazegraph del cuaderno gráfico
, que contiene los archivos e instrucciones necesarios para configurar una instancia de Blazegraph local. En el GitHub repositorio, navegue hasta el directorio «blazegraph» y siga las instrucciones proporcionadas para configurar su instancia local de Blazegraph. Esto incluye los pasos para descargar el software Blazegraph, configurar los archivos necesarios e iniciar el servidor Blazegraph.
Una vez que tenga una instancia local de Blazegraph en ejecución, podrá integrarla con su aplicación como base de datos interna para sus consultas y datos basados en gráficos. Consulte la documentación y el código de ejemplo que se proporcionan en el repositorio de graph-notebook para obtener información sobre cómo conectar la aplicación a la instancia de Blazegraph.
Migración de tus cuadernos Neptune de Jupyter a 3 JupyterLab
Los cuadernos de Neptune creados antes del 21 de diciembre de 2022 utilizan el entorno de Amazon Linux 1. Puede migrar cuadernos Jupyter antiguos creados antes de esa fecha al nuevo entorno Amazon Linux 2 con JupyterLab 3 siguiendo los pasos descritos en esta entrada de AWS blog: Migrar su trabajo a una instancia de Amazon SageMaker Notebook con Amazon
Además, también hay algunos pasos más que se aplican específicamente a la migración de los cuadernos de Neptune al nuevo entorno:
Requisitos previos específicos de Neptune
En la IAM función del cuaderno Neptune de origen, añada todos los permisos siguientes:
{ "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": [ "*" ] }
Asegúrese de especificar el valor correcto ARN para el bucket de S3 que utilizará para realizar la copia de seguridad.
Configuración del ciclo de vida específica de Neptune
Al crear el segundo script de configuración del ciclo de vida para restaurar la copia de seguridad (desde on-create.sh
), tal y como se describe en la publicación del blog, el nombre del ciclo de vida debe seguir el mismo formato de aws-neptune-*
, por ejemplo aws-neptune-sync-from-s3
. Esto garantiza que se LCC pueda seleccionar durante la creación del cuaderno en la consola Neptune.
Sincronización específica de Neptune a partir de una instantánea a una nueva instancia
En los pasos descritos en la publicación del blog para la sincronización de una instantánea a una nueva instancia, puede encontrar los cambios específicos de Neptune:
En el paso 4, seleccione notebook-al2-v2.
En el paso 5, reutilice el IAM rol del cuaderno Neptune original.
-
Entre los pasos 7 y 8:
En Configuración de instancias de cuaderno, establezca un nombre que utilice el formato de
aws-neptune-*
.Abra el acordeón de configuración de red y seleccione el mismo VPC grupo de subred y seguridad que en el bloc de notas de origen.
Pasos específicos de Neptune tras la creación del nuevo cuaderno
Seleccione el botón Abrir Jupyter para el cuaderno. Una vez que el archivo
SYNC_COMPLETE
aparezca en el directorio principal, continúe con el siguiente paso.Ve a la página de instancias del bloc de notas en la SageMaker consola.
Detenga el bloc de notas.
Seleccione Editar.
En la configuración de la instancia del cuaderno, edite el campo Configuración del ciclo de vida. Para ello, seleccione el ciclo de vida original del cuaderno de Neptune de origen. Tenga en cuenta que este no es el ciclo de vida EBS de la copia de seguridad.
Seleccione Actualizar la configuración del cuaderno.
Vuelva a iniciar el cuaderno.
Con las modificaciones que se describen aquí en los pasos descritos en la entrada del blog, sus cuadernos de gráficos ahora deberían migrarse a una nueva instancia de bloc de notas de Neptune que utilice el entorno Amazon Linux 2 JupyterLab y 3. Aparecerán para su acceso y administración en la página de Neptune del AWS Management Console, y ahora puedes continuar tu trabajo desde donde lo dejaste seleccionando Abrir Jupyter o Abrir. JupyterLab