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.
Respuestas de Neptune Loader Get-Status
El siguiente ejemplo de respuesta de la Get-Status API de Neptune describe la estructura general de la respuesta, explica los distintos campos y sus tipos de datos, así como la gestión de errores y los detalles del registro de errores.
Diseño JSON de Neptune Loader Get-Status Response
El diseño general de la respuesta de estado de un programa de carga es el siguiente:
{ "status" : "200 OK", "payload" : { "feedCount" : [ { "LOAD_FAILED" :
number
} ], "overallStatus" : { "fullUri" : "s3://bucket
/key
", "runNumber" :number
, "retryNumber" :number
, "status" : "string
", "totalTimeSpent" :number
, "startTime" :number
, "totalRecords" :number
, "totalDuplicates" :number
, "parsingErrors" :number
, "datatypeMismatchErrors" :number
, "insertErrors" :number
, }, "failedFeeds" : [ { "fullUri" : "s3://bucket
/key
", "runNumber" :number
, "retryNumber" :number
, "status" : "string
", "totalTimeSpent" :number
, "startTime" :number
, "totalRecords" :number
, "totalDuplicates" :number
, "parsingErrors" :number
, "datatypeMismatchErrors" :number
, "insertErrors" :number
, } ], "errors" : { "startIndex" :number
, "endIndex" :number
, "loadId" : "string
, "errorLogs" : [ ] } } }
Objetos de respuesta overallStatus
y failedFeeds
de obtención de estado del programa de carga de Neptune
Las posibles respuestas devueltas para cada fuente fallida, incluidas las descripciones de los errores, son las mismas que para el objeto overallStatus
de una respuesta Get-Status
.
Los siguientes campos aparecen en el objeto overallStatus
de todas las cargas y en el objeto failedFeeds
de cada fuente fallida:
-
fullUri
: el URI del archivo o archivos que se van a cargar.Tipo: string
Formato:
s3://
.bucket
/key
-
runNumber
: el número de ejecución de la carga o fuente. Aumenta cuando se reinicia la carga.Tipo: entero largo sin signo.
-
retryNumber
: el número de reintento de la carga o fuente. Aumenta cuando el programa de carga reintenta automáticamente realizar una carga o procesar una fuente.Tipo: entero largo sin signo.
-
status
: el estado que devuelve la carga o la fuente.LOAD_COMPLETED
indica una carga correcta sin problemas. Para ver una lista de otros mensajes de estado de carga, consulte Mensajes de errores y fuente del programa de carga de Neptune.Tipo: string.
-
totalTimeSpent
: el tiempo, en segundos, dedicado a analizar e insertar datos para la carga o la fuente. No incluye el tiempo dedicado a obtener la lista de archivos de origen.Tipo: entero largo sin signo.
-
totalRecords
: número total de registros que se han cargado o que se ha intentado cargar.Tipo: entero largo sin signo.
Tenga en cuenta que al cargar desde un archivo CSV, el recuento de registros no se refiere al número de líneas cargadas, sino al número de registros individuales en esas líneas. Tomemos como ejemplo un archivo CSV pequeño como este:
~id,~label,name,team 'P-1','Player','Stokes','England'
Neptune consideraría que este archivo contiene 3 registros:
P-1 label Player P-1 name Stokes P-1 team England
-
totalDuplicates
: el número de registros duplicados que se ha encontrado.Tipo: entero largo sin signo.
Como en el caso del recuento de
totalRecords
, este valor contiene el número de registros duplicados individuales de un archivo CSV, no el número de líneas duplicadas. Tomemos como ejemplo este archivo CSV pequeño:~id,~label,name,team P-2,Player,Kohli,India P-2,Player,Kohli,India
El estado devuelto después de cargarlo tendría este aspecto, con un total de 6 registros, de los cuales 3 son duplicados:
{ "status": "200 OK", "payload": { "feedCount": [ { "LOAD_COMPLETED": 1 } ], "overallStatus": { "fullUri": "
(the URI of the CSV file)
", "runNumber": 1, "retryNumber": 0, "status": "LOAD_COMPLETED", "totalTimeSpent": 3, "startTime": 1662131463, "totalRecords": 6, "totalDuplicates": 3, "parsingErrors": 0, "datatypeMismatchErrors": 0, "insertErrors": 0 } } }En el caso de las cargas de openCypher, se cuenta un duplicado cuando:
El programa de carga detecta que una fila de un archivo de nodo tiene un identificador sin un espacio de identificador que es igual a otro valor de identificador sin espacio de identificador, ya sea en otra fila o que pertenezca a un nodo existente.
El programa de carga detecta que una fila de un archivo de nodo tiene un identificador con un espacio de identificador que es igual a otro valor de identificador con espacio de identificador, ya sea en otra fila o que pertenezca a un nodo existente.
Consulte Consideraciones especiales para cargar datos de openCypher.
-
parsingErrors
: el número de errores de análisis encontrados.Tipo: entero largo sin signo.
-
datatypeMismatchErrors
: el número de registros con un tipo de datos que no coincide con los datos proporcionados.Tipo: entero largo sin signo.
-
insertErrors
: el número de registros que no se han podido insertar debido a errores.Tipo: entero largo sin signo.
Objeto de respuesta Neptune Loader Get-Status errors
Los errores se dividen en las categorías siguientes:
Error 400
: unloadId
no válido devuelve un error de solicitud incorrecta HTTP400
. El mensaje describe el error.Error 500
: una solicitud válida que no se puede procesar devuelve un error interno del servidor HTTP500
. El mensaje describe el error.
Consulte Mensajes de errores y fuente del programa de carga de Neptune para obtener una lista de los mensajes de error y de fuentes devueltos por el programa de carga en caso de errores.
Si se produce un error, se devuelve un objeto JSON errors
en el elemento BODY
de la respuesta con los siguientes campos:
-
startIndex
: el índice del primer error incluido.Tipo: entero largo sin signo.
-
endIndex
: el índice del último error incluido.Tipo: entero largo sin signo.
-
loadId
: el identificador de la carga. Puede utilizar este ID para imprimir los errores de la carga si establece el parámetroerrors
enTRUE
.Tipo: string.
-
errorLogs
: una lista de los errores.Tipo: lista.
Objeto de respuesta Neptune Loader Get-Status errorLogs
El objeto errorLogs
que aparece en errors
en la respuesta del estado de obtención del programa de carga contiene un objeto que describe cada error mediante los siguientes campos:
-
errorCode
: identifica la naturaleza del error.Puede tener uno de los siguientes valores:
PARSING_ERROR
S3_ACCESS_DENIED_ERROR
FROM_OR_TO_VERTEX_ARE_MISSING
ID_ASSIGNED_TO_MULTIPLE_EDGES
SINGLE_CARDINALITY_VIOLATION
FILE_MODIFICATION_OR_DELETION_ERROR
OUT_OF_MEMORY_ERROR
INTERNAL_ERROR
(se devuelve cuando el programa de carga masiva no puede determinar el tipo de error).
-
errorMessage
: mensaje que describe el error.Puede ser un mensaje genérico asociado al código de error o un mensaje específico que contenga detalles, por ejemplo, sobre la falta de un vértice de origen o destino o sobre un error de análisis.
-
fileName
: el nombre de la fuente. -
recordNum
: en el caso de un error de análisis, se trata del número de registro del archivo del registro que no se ha podido analizar. Se establece en cero si el número de registro no es aplicable al error o si no se ha podido determinar.
Por ejemplo, el programa de carga masiva generaría un error de análisis si encontrara una fila fallida como la siguiente en un archivo RDF nquads
:
<http://base#subject> |http://base#predicate> <http://base#true> .
Como puede ver, el segundo http
de la fila anterior debería ir precedido de <
en lugar de |
. El objeto de error resultante en errorLogs
en una respuesta de estado tendría el siguiente aspecto:
{ "errorCode" : "PARSING_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "
s3://bucket/key
", "recordNum" :12345
},