Ejemplo: carga de datos en una instancia de base de datos de Neptune - Amazon Neptune

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.

Ejemplo: carga de datos en una instancia de base de datos de Neptune

Este ejemplo muestra cómo cargar datos en Amazon Neptune. A menos que se indique lo contrario, debe seguir estos pasos desde una instancia de Amazon Elastic Compute Cloud (AmazonEC2) en la misma Amazon Virtual Private Cloud (VPC) que su instancia de base de datos de Neptune.

Ejemplo de requisitos previos de carga de datos

Antes de comenzar, debe disponer de lo siguiente:

  • Una instancia de base de datos de Neptune.

    Para obtener información acerca del inicio de una instancia de base de datos de Neptune, consulte Creación de un nuevo clúster de base de datos de Neptune.

  • Un bucket de Amazon Simple Storage Service (Amazon S3) en el que colocar los datos.

    Es posible utilizar un bucket existente. Si no tiene un bucket de S3, consulte Crear un bucket en la Guía de introducción de Amazon S3.

  • Datos del gráfico que se van a cargar, en uno de los formatos admitidos por el programa de carga de Neptune:

    Si utiliza Gremlin para consultar el gráfico, Neptune puede cargar datos en formato comma-separated-values (CSV), como se describe en. Formato de datos de carga de Gremlin

    Si lo utiliza openCypher para consultar su gráfico, Neptune también puede cargar datos en un CSV formato openCypher específico, como se describe en. Formato de carga de openCypher datos

    Si lo utilizaSPARQL, Neptune puede cargar datos en varios RDF formatos, tal y como se describe en. RDFcargar formatos de datos

  • Una IAM función que debe asumir la instancia de base de datos Neptune que tiene una IAM política que permite el acceso a los archivos de datos del bucket S3. La política debe conceder permisos de lectura y lista.

    Para obtener información acerca de cómo crear un rol con acceso a Amazon S3 y, después, asociarlo a un clúster de Neptune, consulte Requisitos previos: IAM función y acceso a Amazon S3.

    nota

    El Neptune solo Load API necesita acceso de lectura a los archivos de datos. La IAM política no necesita permitir el acceso de escritura ni el acceso a todo el depósito.

  • Un VPC punto de conexión Amazon S3. Para obtener más información, consulte la sección Creación de un VPC punto de conexión Amazon S3.

Creación de un VPC punto de conexión Amazon S3

El cargador Neptune requiere un VPC punto de conexión para Amazon S3.

Para configurar el acceso a Amazon S3
  1. Inicia sesión en la VPC consola de Amazon AWS Management Console y ábrela en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación izquierdo, seleccione Puntos de conexión.

  3. Seleccione Crear punto de conexión.

  4. Elija el Service Name (Nombre del servicio) com.amazonaws.region.s3.

    nota

    Si la región indicada es incorrecta, asegúrese de que la región de la consola es correcta.

  5. Elija la VPC que contenga su instancia de base de datos de Neptune.

  6. Seleccione la casilla de verificación situada junto a las tablas de ruteo asociadas a las subredes relacionadas con el clúster. Si solo tiene una tabla de ruteo, debe seleccionar esa casilla.

  7. Seleccione Crear punto de conexión.

Para obtener información sobre la creación del punto de conexión, consulte VPCEndpoints en la Guía del VPC usuario de Amazon. Para obtener información sobre las limitaciones de los VPC puntos de enlace, consulte VPCEndpoints for Amazon S3.

Para cargar datos en una instancia de base de datos de Neptune
  1. Copie los archivos de datos en un bucket de Amazon S3. El depósito de S3 debe estar en la misma AWS región que el clúster que carga los datos.

    Puede usar el siguiente AWS CLI comando para copiar los archivos al bucket.

    nota

    No es necesario ejecutar este comando desde la EC2 instancia de Amazon.

    aws s3 cp data-file-name s3://bucket-name/object-key-name
    nota

    En Amazon S3, un nombre de una clave de objeto es la ruta completa de un archivo, incluido el nombre de este.

    Ejemplo: en el comando aws s3 cp datafile.txt s3://examplebucket/mydirectory/datafile.txt, el nombre de la clave de objeto es mydirectory/datafile.txt.

    Como alternativa, puede utilizarla AWS Management Console para cargar archivos en el bucket de S3. Abra la consola Amazon S3 en https://console.aws.amazon.com/s3/y elija un bucket. En la esquina superior izquierda, elija Upload (Cargar) para cargar los archivos.

  2. Desde una ventana de línea de comandos, introduzca lo siguiente para ejecutar el cargador de Neptune con los valores correctos para el punto de conexión, la ruta de Amazon S3, el formato y IAM la función. ARN

    El format parámetro puede tener cualquiera de los siguientes valores: csv para Gremlin, opencypher para oopenCypher, ntriples nquadsturtle, y para. rdfxml RDF Para obtener información acerca del resto de parámetros, consulte Comando del programa de carga de Neptune.

    Para obtener información acerca de cómo encontrar el nombre de host de la instancia de base de datos de Neptune, consulte la sección Conexión a los puntos de conexión de Amazon Neptune.

    El parámetro de región debe coincidir con la región del clúster y del bucket de S3.

    Amazon Neptune está disponible en las siguientes regiones: AWS

    • Este de EE. UU. (Norte de Virginia): us-east-1

    • Este de EE. UU. (Ohio): us-east-2

    • Oeste de EE. UU. (Norte de California): us-west-1

    • Oeste de EE. UU. (Oregón): us-west-2

    • Canadá (centro): ca-central-1

    • América del Sur (São Paulo): sa-east-1

    • Europa (Estocolmo): eu-north-1

    • Europa (Irlanda): eu-west-1

    • Europa (Londres): eu-west-2

    • Europa (París): eu-west-3

    • Europa (Fráncfort): eu-central-1

    • Medio Oriente (Baréin): me-south-1

    • Oriente Medio (UAE): me-central-1

    • Israel (Tel Aviv):   il-central-1

    • África (Ciudad del Cabo): af-south-1

    • Asia Pacífico (Hong Kong): ap-east-1

    • Asia-Pacífico (Tokio): ap-northeast-1

    • Asia-Pacífico (Seúl): ap-northeast-2

    • Asia-Pacífico (Osaka): ap-northeast-3

    • Asia-Pacífico (Singapur): ap-southeast-1

    • Asia-Pacífico (Sídney): ap-southeast-2

    • Asia-Pacífico (Bombay): ap-south-1

    • China (Pekín): cn-north-1

    • China (Ningxia): cn-northwest-1

    • AWS GovCloud (EEUU-Oeste): us-gov-west-1

    • AWS GovCloud (EE. UU.-Este): 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"] }'

    Para obtener información sobre la creación y la asociación de un IAM rol a un clúster de Neptune, consulte. Requisitos previos: IAM función y acceso a Amazon S3

    nota

    Consulte Parámetros de solicitudes del programa de carga de Neptune para obtener información detallada sobre los parámetros de solicitud de carga. En resumen:

    El source parámetro acepta un Amazon S3 URI que apunta a un único archivo o a una carpeta. Si especifica una carpeta, Neptune carga todos los archivos de datos en esta.

    La carpeta puede contener varios archivos de vértice y varios archivos de borde.

    URIPuede estar en cualquiera de los siguientes formatos.

    • 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

    Este parámetro format puede ser uno de los siguientes:

    • CSVFormato Gremlin (csv) para gráficos de propiedades de Gremlin

    • openCypher CSVformat () opencypher para gráficos de propiedades openCypher

    • Formato N -Triples (ntriples) para/RDFSPARQL

    • Formato N-Quads () nquads para/RDFSPARQL

    • RDFFormato/XML(rdfxml) para/RDFSPARQL

    • Formato Turtle (turtle) paraRDF/SPARQL

    El parámetro opcional parallelism le permite restringir el número de subprocesos utilizados en el proceso de carga masiva. Se puede establecer en LOW, MEDIUM, HIGH o OVERSUBSCRIBE.

    Cuando updateSingleCardinalityProperties se establece en "FALSE", el cargador devuelve un error si se proporciona más de un valor en un archivo de origen que se está cargando para una propiedad de borde o de vértice de cardinalidad única.

    Si queueRequest se establece en "TRUE", la solicitud de carga se colocará en una cola si ya se está ejecutando un trabajo de carga.

    El parámetro dependencies hace que la ejecución de la solicitud de carga dependa de la finalización correcta de uno o más trabajos de carga que ya se han colocado en la cola.

  3. El programa de carga de Neptune devuelve un id de tarea que le permite comprobar el estado o cancelar el proceso de carga; por ejemplo:

    { "status" : "200 OK", "payload" : { "loadId" : "ef478d76-d9da-4d94-8ff1-08d9d4863aa5" } }
  4. Escriba lo siguiente para obtener el estado de la carga con el loadId del paso 3:

    curl -G 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'

    Si el estado de la carga muestra un error, puede solicitar un estado más detallado y una lista de los errores. Para obtener más información y ejemplos, consulte Neptune Loader Get-Status API.

  5. (Opcional) Cancele la tarea Load.

    Escriba lo siguiente Delete la tarea del programa de carga con el id de tarea del paso 3:

    curl -X DELETE 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'

    El DELETE comando devuelve el HTTP código 200 OK si la cancelación se realiza correctamente.

    Los datos de los archivos de la tarea de carga que han terminado de cargarse no se revierten, Los datos permanecen en la instancia de base de datos de Neptune.