

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Obtém o status de trabalho do `loader`.

Para obter o status da carga, você deve enviar uma solicitação HTTP `GET` ao endpoint `https://your-neptune-endpoint:port/loader`. Para obter o status de uma determinada solicitação de carga, você deve incluir o `loadId` como um parâmetro da URL ou acrescentar `loadId` ao caminho da URL.

O Neptune mantém o controle somente dos 1.024 trabalhos de carregamento em massa mais recentes e armazena somente os últimos dez mil detalhes de erro por trabalho. 

Consulte [Erro de carregador do Neptune e mensagens de feed](loader-message.md) para obter uma lista das mensagens de erro e feed geradas pelo carregador em caso de erros.

**Contents**
+ [Solicitações do Neptune Loader Get-Status](load-api-reference-status-requests.md)
  + [Sintaxe da Get-Status solicitação do carregador](load-api-reference-status-requests.md#load-api-reference-status-request-syntax)
  + [Parâmetros de solicitação do Neptune Loader Get-Status](load-api-reference-status-requests.md#load-api-reference-status-parameters)
+ [Respostas do Neptune Loader Get-Status](load-api-reference-status-response.md)
  + [Layout JSON do Neptune Loader Get-Status Response](load-api-reference-status-response.md#load-api-reference-status-response-layout)
  + [Neptune Loader e objetos de resposta Get-Status `overallStatus` `failedFeeds`](load-api-reference-status-response.md#load-api-reference-status-response-objects)
  + [Objeto de resposta do Neptune Loader Get-Status `errors`](load-api-reference-status-response.md#load-api-reference-status-errors)
  + [Objeto de resposta do Neptune Loader Get-Status `errorLogs`](load-api-reference-status-response.md#load-api-reference-error-logs)
+ [Exemplos do Neptune Loader Get-Status](load-api-reference-status-examples.md)
  + [Exemplo de solicitação do status da carga](load-api-reference-status-examples.md#load-api-reference-status-examples-status-request)
  + [Exemplo de solicitação de loadIs](load-api-reference-status-examples.md#load-api-reference-status-examples-loadId-request)
  + [Exemplo de solicitação de status detalhado](load-api-reference-status-examples.md#load-api-reference-status-examples-details-request)
+ [Exemplos do Neptune Loader Get-Status `errorLogs`](load-api-reference-error-logs-examples.md)
  + [Exemplo de resposta de status detalhada quando ocorreram erros](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-details-request-errors)
  + [Exemplo de erro `Data prefetch task interrupted`](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-task-interrupted)

# Solicitações do Neptune Loader Get-Status
<a name="load-api-reference-status-requests"></a>

## Sintaxe da Get-Status solicitação do carregador
<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 solicitação do Neptune Loader Get-Status
<a name="load-api-reference-status-parameters"></a>
+ **`loadId`**: o ID do trabalho de carga. Se você não especificar a`loadId`, uma lista de carga IDs será retornada.
+ **`details`**: inclua detalhes além do status geral.

  *Valores permitidos:* `TRUE`, `FALSE`

  *Valor padrão:* `FALSE`.
+ **`errors`**: inclua a lista de erros.

  *Valores permitidos:* `TRUE`, `FALSE`

  *Valor padrão:* `FALSE`.

  A lista de erros é paginada. Os parâmetros `page` e `errorsPerPage` permitem que você pagine por todos os erros.
+ **`page`**: o número da página do erro. Válido apenas com o parâmetro `errors` definido como `TRUE`.

  *Valores permitidos*: inteiros positivos.

  *Valor padrão*: 1.
+ **`errorsPerPage`**: o número de erros por página. Válido apenas com o parâmetro `errors` definido como `TRUE`.

  *Valores permitidos*: inteiros positivos.

  *Valor padrão*: 10
+ **`limit`**: o número de IDs de cargas a serem listados. Válido somente ao solicitar uma lista de carga IDs enviando uma `GET` solicitação sem `loadId` especificação.

  *Valores permitidos*: inteiros positivos de 1 a 100.

  *Valor padrão*: 100
+ **`includeQueuedLoads`**— Um parâmetro opcional que pode ser usado para excluir a carga IDs de solicitações de carregamento em fila quando uma lista de carga IDs é solicitada.

  Por padrão, a carga IDs de todas as tarefas de carga com status `LOAD_IN_QUEUE` é incluída nessa lista. Elas aparecem antes do carregamento IDs de outras tarefas, ordenadas pelo momento em que foram adicionadas à fila, da mais recente para a mais antiga.

  *Valores permitidos:* `TRUE`, `FALSE`

  *Valor padrão:* `TRUE`.

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

 O exemplo de resposta a seguir da API Get-Status Neptune descreve a estrutura geral da resposta, explica os vários campos e seus tipos de dados, bem como os detalhes do tratamento e do registro de erros. 

## Layout JSON do Neptune Loader Get-Status Response
<a name="load-api-reference-status-response-layout"></a>

O layout geral de uma resposta de status do carregador é o seguinte:

```
{
    "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 e objetos de resposta Get-Status `overallStatus` `failedFeeds`
<a name="load-api-reference-status-response-objects"></a>

As possíveis respostas exibidas para cada feed com falha, incluindo as descrições dos erros, são as mesmas para o objeto `overallStatus` em uma resposta `Get-Status`.

Os seguintes campos são exibidos no objeto `overallStatus` de todas as cargas e o objeto `failedFeeds` de cada feed com falha:
+ **`fullUri` **: o URI do arquivo ou dos arquivos a serem carregados.

  *Tipo*: *string*

  *Formato*: `s3://bucket/key`.
+ **`runNumber`**: o número de execução dessa carga ou feed. É incrementado quando a carga é reiniciada.

  *Tipo:* *longo não assinado*.
+ **`retryNumber`**: o número de repetição dessa carga ou feed. É incrementado quando o carregador tenta novamente um feed ou carga automaticamente.

  *Tipo:* *longo não assinado*.
+ **`status`**: o status exibido da carga ou do feed. `LOAD_COMPLETED` indica uma carga bem-sucedida sem problemas. Para obter uma lista de outras mensagens de status de carregamento, consulte [Erro de carregador do Neptune e mensagens de feed](loader-message.md).

  *Tipo*: *string*.
+ **`totalTimeSpent`**: o tempo, em segundos, gasto para analisar e inserir os dados para a carga ou o feed. Isso não inclui o tempo gasto para buscar a lista de arquivos de origem.

  *Tipo:* *longo não assinado*.
+ **`totalRecords`**: total de registros carregados ou que tentaram carregar.

  *Tipo:* *longo não assinado*.

  Observe que, ao realizar o carregamento de um arquivo CSV, a contagem de registros não se refere ao número de linhas carregadas, mas sim ao número de registros individuais nessas linhas. Por exemplo, pegue como exemplo um pequeno arquivo CSV como este:

  ```
  ~id,~label,name,team
  'P-1','Player','Stokes','England'
  ```

  O Neptune consideraria que esse arquivo contém três registros, a saber:

  ```
  P-1  label Player
  P-1  name  Stokes
  P-1  team  England
  ```
+ **`totalDuplicates`**: o número de registros duplicados encontrados.

  *Tipo:* *longo não assinado*.

  Como no caso da contagem `totalRecords`, esse valor contém o número de registros duplicados individuais em um arquivo CSV, não o número de linhas duplicadas. Pegue como exemplo este pequeno arquivo CSV:

  ```
  ~id,~label,name,team
  P-2,Player,Kohli,India
  P-2,Player,Kohli,India
  ```

  O status exibido após o carregamento ficaria assim, relatando seis registros no total, dos quais três são 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
      }
    }
  }
  ```

  Para carregamento do openCypher, uma duplicação é contada quando:
  + O carregador detecta que uma linha em um arquivo de nó tem um ID sem um espaço de ID que é igual a outro valor de ID sem um espaço de ID, seja em outra linha ou pertencente a um nó existente.
  + O carregador detecta que uma linha em um arquivo de nó tem um ID com um espaço de ID igual a outro valor de ID com um espaço de ID, seja em outra linha ou pertencente a um nó existente.

  Consulte [Considerações especiais sobre o carregamento de dados do openCypher](load-api-reference-load.md#load-api-reference-load-parameters-opencypher).
+ **`parsingErrors`**: o número de erros de análise encontrados.

  *Tipo:* *longo não assinado*.
+ **`datatypeMismatchErrors`**: o número de registros com um tipo de dados que não corresponderam aos dados fornecidos.

  *Tipo:* *longo não assinado*.
+ **`insertErrors`**: o número de registros que não puderam ser inseridos devido a erros.

  *Tipo:* *longo não assinado*.

## Objeto de resposta do Neptune Loader Get-Status `errors`
<a name="load-api-reference-status-errors"></a>

Os erros se enquadram nas seguintes categorias:
+ **`Error 400`**: um `loadId` inválido gera um erro de solicitação HTTP `400` inadequada. A mensagem descreve o erro.
+ **`Error 500`**: uma solicitação válida que não pode ser processada gera um erro interno do servidor HTTP `500`. A mensagem descreve o erro.

Consulte [Erro de carregador do Neptune e mensagens de feed](loader-message.md) para obter uma lista das mensagens de erro e feed geradas pelo carregador em caso de erros.

Quando ocorre um erro, um objeto JSON `errors` é gerado no `BODY` da resposta, com os seguintes campos:
+ **`startIndex`**: o índice do primeiro erro incluído.

  *Tipo:* *longo não assinado*.
+ **`endIndex`**: o índice do último erro incluído.

  *Tipo:* *longo não assinado*.
+ **`loadId`**: o ID da carga. Você pode usar esse ID para imprimir os erros do carregamento definindo o parâmetro `errors` como `TRUE`.

  *Tipo*: *string*.
+ **`errorLogs`**: uma lista dos erros.

  *Tipo:* *lista*.

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

O objeto `errorLogs` em `errors` na resposta Get-Status do carregador contém um objeto que descreve cada erro usando os seguintes campos:
+ **`errorCode`**: identifica a natureza do erro.

  Pode utilizar um dos seguintes 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` (gerado quando o carregador em massa não consegue determinar o tipo do erro).
+ **`errorMessage`**: uma mensagem descrevendo o erro.

  Pode ser uma mensagem genérica associada ao código de erro ou uma mensagem específica contendo detalhes, por exemplo, sobre um from/to vértice ausente ou sobre um erro de análise.
+ **`fileName`**: o nome do feed.
+ **`recordNum`**: no caso de um erro de análise, esse é o número do registro no arquivo do registro que não pôde ser analisado. Será definido como zero se o número do registro não for aplicável ao erro ou se não puder ser determinado.

Por exemplo, o carregador em massa geraria um erro de análise se encontrasse uma linha com defeito, como a seguinte, em um arquivo RDF `nquads`:

```
<http://base#subject> |http://base#predicate> <http://base#true> .
```

Como você pode ver, o segundo `http` na linha acima deve ser precedido por `<` em vez de `|`. O objeto de erro resultante abaixo de `errorLogs` em uma resposta de status deverá ser semelhante a este:

```
{
    "errorCode" : "PARSING_ERROR",
    "errorMessage" : "Expected '<', found: |",
    "fileName" : "s3://bucket/key",
    "recordNum" : 12345
},
```

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

 Os exemplos a seguir mostram o uso da API GET-Status do carregador do Neptune, que permite recuperar informações sobre o status do carregamento de dados no banco de dados de grafos do Amazon Neptune. Esses exemplos abrangem três cenários principais: recuperar o status de uma carga específica, listar a carga IDs disponível e solicitar informações detalhadas sobre o status de uma carga específica. 

## Exemplo de solicitação do status da carga
<a name="load-api-reference-status-examples-status-request"></a>

O seguinte é uma solicitação enviada por HTTP `GET` usando o comando `curl`.

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

**Example Resposta**  

```
{
    "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
        }
    }
}
```

## Exemplo de solicitação de loadIs
<a name="load-api-reference-status-examples-loadId-request"></a>

O seguinte é uma solicitação enviada por HTTP `GET` usando o comando `curl`.

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

**Example Resposta**  

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

## Exemplo de solicitação de status detalhado
<a name="load-api-reference-status-examples-details-request"></a>

O seguinte é uma solicitação enviada por HTTP `GET` usando o comando `curl`.

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

**Example Resposta**  

```
{
    "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
        }
    }
}
```

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

 Os exemplos a seguir mostram a resposta de status detalhada do carregador do Neptune quando erros ocorrem durante o processo de carregamento de dados. Os exemplos ilustram a estrutura da resposta, incluindo informações sobre feeds com falha, status geral e registros em log de erros detalhados. 

## Exemplo de resposta de status detalhada quando ocorreram erros
<a name="load-api-reference-status-examples-details-request-errors"></a>

Trata-se de uma solicitação enviada via HTTP `GET` usando `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 uma resposta detalhada quando ocorreram erros**  
Este é um exemplo da resposta que você pode obter da consulta acima, com um objeto `errorLogs` listando os erros de carregamento encontrados:  

```
{
    "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
        }
    }
}
```

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

Ocasionalmente, quando você obtém um status `LOAD_FAILED` e solicita informações mais detalhadas, o erro retornado pode ser um `PARSING_ERROR` com uma mensagem `Data prefetch task interrupted`, da seguinte forma:

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

Esse erro ocorre quando há uma interrupção temporária no processo de carregamento de dados que normalmente não foi causada por sua solicitação ou seus dados. De maneira geral, ele pode ser resolvido simplesmente executando a solicitação de upload em massa novamente. Se você estiver usando as configurações padrão, ou seja, `"mode":"AUTO"` e `"failOnError":"TRUE"`, o carregador ignorará os arquivos que ele já tiver carregado com êxito e retomará o carregamento de arquivos que ainda não tinha carregado quando a interrupção ocorreu.