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 (Amazon EC2) 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 clúster de Amazon 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 GremlinSi utiliza openCypher para consultar el gráfico, Neptune también puede cargar datos en un formato
CSVespecífico de openCypher, como se describe en Formato de carga para los datos de openCypher.Si utiliza SPARQL, Neptune puede cargar los datos en una serie de formatos RDF, tal y como se describe en Formatos de los datos de carga de RDF.
-
Un rol de IAM para que la instancia de base de datos de Neptune asuma que tiene una política de IAM que permite el acceso a los archivos de datos en el bucket de 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: rol de IAM y acceso a Amazon S3.
nota
La API
Loadde Neptune necesita acceso de lectura solo para los archivos de datos. No es necesario que la política de IAM conceda acceso de escritura o acceso al bucket completo. Un punto de conexión de VPC de Amazon S3. Para obtener más información, consulte la sección Creación de un punto de conexión de VPC de Amazon S3.
Creación de un punto de conexión de VPC de Amazon S3
El programa de carga de Neptune requiere un punto de conexión de VPC para Amazon S3.
Para configurar el acceso a Amazon S3
Inicie sesión en la consola de Amazon VPC AWS Management Console y ábrala en. https://console.aws.amazon.com/vpc/
En el panel de navegación izquierdo, seleccione Puntos de conexión.
Seleccione Crear punto de conexión.
-
Elija el Service Name (Nombre del servicio)
com.amazonaws..region.s3nota
Si la región indicada es incorrecta, asegúrese de que la región de la consola es correcta.
Elija la VPC que contiene la instancia de base de datos de Neptune.
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.
Seleccione Crear punto de conexión.
Para obtener más información acerca de la creación del punto de conexión, consulte Puntos de conexión de la VPC en la Guía del usuario de Amazon VPC. Para obtener información acerca de las limitaciones de los puntos de conexión de VPC, consulte VPC Endpoints for Amazon S3.
Para cargar datos en una instancia de base de datos de Neptune
-
Copie los archivos de datos en un bucket de Amazon S3. El bucket 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 cpdata-file-names3://bucket-name/object-key-namenota
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 esmydirectory/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. -
Desde una ventana de la línea de comandos, introduzca lo siguiente para ejecutar el programa de carga de Neptune con los valores correctos para su punto de conexión, la ruta de Amazon S3, el formato y el ARN del rol de IAM.
El parámetro
formatpuede tener cualquiera de los siguientes valores:csvpara Gremlin,opencypherpara openCypher ontriples,nquads,turtleyrdfxmlpara 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-1Este de EE. UU. (Ohio):
us-east-2Oeste de EE. UU. (Norte de California):
us-west-1Oeste de EE. UU. (Oregón):
us-west-2Canadá (centro):
ca-central-1Canadá oeste (Calgary):
ca-west-1América del Sur (São Paulo):
sa-east-1Europa (Estocolmo):
eu-north-1Europa (España):
eu-south-2Europa (Irlanda):
eu-west-1Europa (Londres):
eu-west-2Europa (París):
eu-west-3Europa (Fráncfort):
eu-central-1Medio Oriente (Baréin):
me-south-1Medio Oriente (EAU):
me-central-1Israel (Tel Aviv):
il-central-1África (Ciudad del Cabo):
af-south-1Asia Pacífico (Hong Kong):
ap-east-1Asia-Pacífico (Tokio):
ap-northeast-1Asia-Pacífico (Seúl):
ap-northeast-2Asia-Pacífico (Osaka):
ap-northeast-3Asia-Pacífico (Singapur):
ap-southeast-1Asia-Pacífico (Sídney):
ap-southeast-2Asia-Pacífico (Yakarta):
ap-southeast-3Asia Pacífico (Melbourne):
ap-southeast-4Asia Pacífico (Malasia):
ap-southeast-5Asia-Pacífico (Bombay):
ap-south-1China (Pekín):
cn-north-1China (Ningxia):
cn-northwest-1AWS GovCloud (EE. UU.-Oeste):
us-gov-west-1AWS 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 acerca de cómo crear y asociar un rol de IAM a un clúster de Neptune, consulte Requisitos previos: rol de IAM 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 parámetro
sourceacepta un URI de Amazon S3 que apunta a un archivo único 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.
El URI puede tener cualquiera de los siguientes formatos:
s3://bucket_name/object-key-namehttps://s3.amazonaws.com/bucket_name/object-key-namehttps://s3-us-east-1.amazonaws.com/bucket_name/object-key-name
Este parámetro
formatpuede ser uno de los siguientes:Formato CSV de Gremlin (
csv) para gráfico de propiedades de GremlinFormato CSV de openCypher (
opencypher) para gráficos de propiedades de openCypherFormato N -Triples (
ntriples) para RDF/SPARQLFormato N-Quads (
nquads) para RDF/SPARQLFormato RDF/XML (
rdfxml) para RDF/SPARQLFormato Turtle (
turtle) para RDF/SPARQL
El parámetro opcional
parallelismle permite restringir el número de subprocesos utilizados en el proceso de carga masiva. Se puede establecer enLOW,MEDIUM,HIGHoOVERSUBSCRIBE.Cuando
updateSingleCardinalityPropertiesse 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
queueRequestse establece en"TRUE", la solicitud de carga se colocará en una cola si ya se está ejecutando un trabajo de carga.El parámetro
dependencieshace 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. -
El programa de carga de Neptune devuelve un
idde 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" } } -
Escriba lo siguiente para obtener el estado de la carga con el
loadIddel 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, consulta API Neptune Loader Get-Status .
-
(Opcional) Cancele la tarea
Load.Escriba lo siguiente
Deletela tarea del programa de carga con elidde tarea del paso 3:curl -X DELETE 'https://your-neptune-endpoint:port/loader/ef478d76-d9da-4d94-8ff1-08d9d4863aa5'El comando
DELETEdevuelve el código HTTP200 OKsi 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.