

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.

# API Neptune Loader Get-Status
<a name="load-api-reference-status"></a>

Obtiene el estado de una tarea `loader`.

Para obtener el estado de carga, debe enviar una solicitud HTTP `GET` al punto de enlace `https://your-neptune-endpoint:port/loader`. Para obtener el estado de una solicitud de carga concreta, debe incluir `loadId` como parámetro de la URL o añadir `loadId` a la ruta de la dirección URL.

Neptune solo realiza un seguimiento de los 1024 trabajos de carga masiva más recientes y solo almacena los últimos 10 000 detalles de error por trabajo. 

Consulte [Mensajes de errores y fuente del programa de carga de Neptune](loader-message.md) para obtener una lista de los mensajes de error y de fuentes devueltos por el programa de carga en caso de errores.

**Contents**
+ [

# Solicitudes de Neptune Loader Get-Status
](load-api-reference-status-requests.md)
  + [

## Sintaxis de Get-Status solicitud de cargador
](load-api-reference-status-requests.md#load-api-reference-status-request-syntax)
  + [

## Parámetros de solicitud de Neptune Loader Get-Status
](load-api-reference-status-requests.md#load-api-reference-status-parameters)
+ [

# Respuestas de Neptune Loader Get-Status
](load-api-reference-status-response.md)
  + [

## Diseño JSON de Neptune Loader Get-Status Response
](load-api-reference-status-response.md#load-api-reference-status-response-layout)
  + [

## Neptune Loader Get-Status `overallStatus` y `failedFeeds` objetos de respuesta
](load-api-reference-status-response.md#load-api-reference-status-response-objects)
  + [

## Objeto de respuesta Neptune Loader Get-Status `errors`
](load-api-reference-status-response.md#load-api-reference-status-errors)
  + [

## Objeto de respuesta Neptune Loader Get-Status `errorLogs`
](load-api-reference-status-response.md#load-api-reference-error-logs)
+ [

# Ejemplos de Neptune Loader Get-Status
](load-api-reference-status-examples.md)
  + [

## Ejemplo de solicitud del estado de carga
](load-api-reference-status-examples.md#load-api-reference-status-examples-status-request)
  + [

## Ejemplo de solicitud de loadIds
](load-api-reference-status-examples.md#load-api-reference-status-examples-loadId-request)
  + [

## Ejemplo de solicitud del estado detallado
](load-api-reference-status-examples.md#load-api-reference-status-examples-details-request)
+ [

# Ejemplos de Neptune Loader Get-Status `errorLogs`
](load-api-reference-error-logs-examples.md)
  + [

## Ejemplo de respuesta de estado detallada cuando se produjeron errores
](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-details-request-errors)
  + [

## Ejemplo de un error `Data prefetch task interrupted`
](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-task-interrupted)

# Solicitudes de Neptune Loader Get-Status
<a name="load-api-reference-status-requests"></a>

## Sintaxis de Get-Status solicitud de cargador
<a name="load-api-reference-status-request-syntax"></a>

```
GET https://your-neptune-endpoint:port/loader?loadId=loadId
```

```
GET https://your-neptune-endpoint:port/loader/loadId
```

```
GET https://your-neptune-endpoint:port/loader
```

## Parámetros de solicitud de Neptune Loader Get-Status
<a name="load-api-reference-status-parameters"></a>
+ **`loadId`**: el identificador del trabajo de carga. Si no especifica a`loadId`, se devolverá una lista de cargas IDs .
+ **`details`**: incluye otros detalles aparte del estado general.

  *Valores permitidos*: `TRUE` y `FALSE`.

  *Valor predeterminado*: `FALSE`.
+ **`errors`**: incluye la lista de errores.

  *Valores permitidos*: `TRUE` y `FALSE`.

  *Valor predeterminado*: `FALSE`.

  Dicha lista está paginada. Los parámetros `page` y `errorsPerPage` le permiten desplazarse por todos los errores.
+ **`page`**: el número de la página de error. Solo es válido si el conjunto de parámetros `errors` está establecido en `TRUE`.

  *Valores permitidos*: números enteros positivos.

  *Valor predeterminado*: 1.
+ **`errorsPerPage`**: el número de errores por cada página. Solo es válido si el conjunto de parámetros `errors` está establecido en `TRUE`.

  *Valores permitidos*: números enteros positivos.

  *Valor predeterminado*: 10.
+ **`limit`**: el número de identificadores de carga que se va a incluir en la lista. Solo es válido cuando se solicita una lista de cargas IDs mediante el envío de una `GET` solicitud sin `loadId` especificar nada.

  *Valores permitidos*: números enteros positivos del 1 al 100.

  *Valor predeterminado*: 100.
+ **`includeQueuedLoads`**— Un parámetro opcional que se puede utilizar para excluir la carga IDs de solicitudes de carga en cola cuando se solicita una lista de carga IDs.

  De forma predeterminada, la carga IDs de todos los trabajos de carga con estado `LOAD_IN_QUEUE` se incluye en dicha lista. Aparecen antes IDs de que se carguen los demás trabajos, ordenados por el momento en que se agregaron a la cola, desde el más reciente al más antiguo.

  *Valores permitidos*: `TRUE` y `FALSE`.

  *Valor predeterminado*: `TRUE`.

# Respuestas de Neptune Loader Get-Status
<a name="load-api-reference-status-response"></a>

 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
<a name="load-api-reference-status-response-layout"></a>

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" : [ ]
        }
    }
}
```

## Neptune Loader Get-Status `overallStatus` y `failedFeeds` objetos de respuesta
<a name="load-api-reference-status-response-objects"></a>

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](loader-message.md).

  *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](load-api-reference-load.md#load-api-reference-load-parameters-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`
<a name="load-api-reference-status-errors"></a>

Los errores se dividen en las categorías siguientes:
+ **`Error 400`**: un `loadId` no válido devuelve un error de solicitud incorrecta HTTP `400`. El mensaje describe el error.
+ **`Error 500`**: una solicitud válida que no se puede procesar devuelve un error interno del servidor HTTP `500`. El mensaje describe el error.

Consulte [Mensajes de errores y fuente del programa de carga de Neptune](loader-message.md) 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ámetro `errors` en `TRUE`.

  *Tipo:* *string*.
+ **`errorLogs`**: una lista de los errores.

  *Tipo*: *lista*.

## Objeto de respuesta Neptune Loader Get-Status `errorLogs`
<a name="load-api-reference-error-logs"></a>

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 un from/to vértice que falta 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
},
```

# Ejemplos de Neptune Loader Get-Status
<a name="load-api-reference-status-examples"></a>

 En los siguientes ejemplos, se muestra el uso de la API de obtención de estado del programa de carga de Neptune, que le permite recuperar información sobre el estado de las cargas de datos en la base de datos de gráficos de Amazon Neptune. Estos ejemplos cubren tres escenarios principales: recuperar el estado de una carga específica, enumerar la carga IDs disponible y solicitar información detallada sobre el estado de una carga específica. 

## Ejemplo de solicitud del estado de carga
<a name="load-api-reference-status-examples-status-request"></a>

A continuación, se muestra una solicitud enviada mediante HTTP `GET` con el comando `curl`.

```
curl -X GET 'https://your-neptune-endpoint:port/loader/loadId (a UUID)'
```

**Example Respuesta**  

```
{
    "status" : "200 OK",
    "payload" : {
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        }
    }
}
```

## Ejemplo de solicitud de loadIds
<a name="load-api-reference-status-examples-loadId-request"></a>

A continuación, se muestra una solicitud enviada mediante HTTP `GET` con el comando `curl`.

```
curl -X GET 'https://your-neptune-endpoint:port/loader?limit=3'
```

**Example Respuesta**  

```
{
    "status" : "200 OK",
    "payload" : {
         "loadIds" : [
            "a2c0ce44-a44b-4517-8cd4-1dc144a8e5b5",
            "09683a01-6f37-4774-bb1b-5620d87f1931",
            "58085eb8-ceb4-4029-a3dc-3840969826b9"
        ]
    }
}
```

## Ejemplo de solicitud del estado detallado
<a name="load-api-reference-status-examples-details-request"></a>

A continuación, se muestra una solicitud enviada mediante HTTP `GET` con el comando `curl`.

```
curl -X GET 'https://your-neptune-endpoint:port/loader/loadId (a UUID)?details=true'
```

**Example Respuesta**  

```
{
    "status" : "200 OK",
    "payload" : {
        "failedFeeds" : [
            {
                "datatypeMismatchErrors" : 0,
                "fullUri" : "s3://bucket/key",
                "insertErrors" : 0,
                "parsingErrors" : 5,
                "retryNumber" : 0,
                "runNumber" : 1,
                "status" : "LOAD_FAILED",
                "totalDuplicates" : 0,
                "totalRecords" : 5,
                "totalTimeSpent" : 3.0
            }
        ],
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        }
    }
}
```

# Ejemplos de Neptune Loader Get-Status `errorLogs`
<a name="load-api-reference-error-logs-examples"></a>

 En los siguientes ejemplos, se muestra la respuesta de estado detallada del programa de carga de Neptune cuando se producen errores durante el proceso de carga de datos. Los ejemplos ilustran la estructura de la respuesta, incluida la información sobre las fuentes erróneas, el estado general y los registros de errores detallados. 

## Ejemplo de respuesta de estado detallada cuando se produjeron errores
<a name="load-api-reference-status-examples-details-request-errors"></a>

Se trata de una solicitud enviada a través de HTTP `GET` mediante `curl`:

```
curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true&errors=true&page=1&errorsPerPage=3'
```

**Example de una respuesta detallada cuando se produjeron errores**  
Este es un ejemplo de la respuesta que podría obtener de la consulta anterior, con un objeto `errorLogs` que muestre los errores de carga detectados:  

```
{
    "status" : "200 OK",
    "payload" : {
        "failedFeeds" : [
            {
                "datatypeMismatchErrors" : 0,
                "fullUri" : "s3://bucket/key",
                "insertErrors" : 0,
                "parsingErrors" : 5,
                "retryNumber" : 0,
                "runNumber" : 1,
                "status" : "LOAD_FAILED",
                "totalDuplicates" : 0,
                "totalRecords" : 5,
                "totalTimeSpent" : 3.0
            }
        ],
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        },
        "errors" : {
            "endIndex" : 3,
            "errorLogs" : [
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 1
                },
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 2
                },
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 3
                }
            ],
            "loadId" : "0a237328-afd5-4574-a0bc-c29ce5f54802",
            "startIndex" : 1
        }
    }
}
```

## Ejemplo de un error `Data prefetch task interrupted`
<a name="load-api-reference-status-examples-task-interrupted"></a>

Ocasionalmente, al obtener un estado `LOAD_FAILED` y solicitar a continuación información más detallada, el error devuelto puede ser un `PARSING_ERROR` con un mensaje `Data prefetch task interrupted`, como este:

```
"errorLogs" : [
    {
        "errorCode" : "PARSING_ERROR",
        "errorMessage" : "Data prefetch task interrupted: Data prefetch task for 11467 failed",
        "fileName" : "s3://amzn-s3-demo-bucket/some-source-file",
        "recordNum" : 0
    }
]
```

Este error se produce si ha habido una interrupción temporal en el proceso de carga de datos no provocada normalmente por su solicitud o sus datos. En general, puede resolverse simplemente ejecutando de nuevo la solicitud de carga masiva. En caso de que esté usando la configuración predeterminada, es decir, `"mode":"AUTO"` y `"failOnError":"TRUE"`, el programa de carga omite los archivos que ya ha cargado correctamente y reanuda la carga de los archivos que aún no había cargado en el momento de la interrupción.