

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Consente di ottenere lo stato di un processo `loader`.

Per ottenere lo stato di caricamento, è necessario inviare una richiesta HTTP `GET` all'endpoint `https://your-neptune-endpoint:port/loader`. Per ottenere lo stato di una richiesta di caricamento specifica, è necessario includere il valore `loadId` come parametro URL oppure aggiungere `loadId` al percorso URL.

Neptune tiene traccia solo dei 1.024 processi di caricamento in blocco più recenti e memorizza solo gli ultimi 10.000 dettagli di errore per processo. 

Vedi [Messaggi di feed e di errore dello strumento di caricamento Neptune](loader-message.md) per un elenco dei messaggi di errore e di feed restituiti dallo strumento di caricamento in caso di errori.

**Contents**
+ [Richieste Neptune Loader Get-Status](load-api-reference-status-requests.md)
  + [Sintassi della richiesta Loader Get-Status](load-api-reference-status-requests.md#load-api-reference-status-request-syntax)
  + [Parametri della richiesta di Get-Status Neptune Loader](load-api-reference-status-requests.md#load-api-reference-status-parameters)
+ [Risposte del Neptune Loader Get-Status](load-api-reference-status-response.md)
  + [Layout JSON di Neptune Loader Get-Status Response](load-api-reference-status-response.md#load-api-reference-status-response-layout)
  + [Neptune Loader Get-Status `overallStatus` e oggetti di risposta `failedFeeds`](load-api-reference-status-response.md#load-api-reference-status-response-objects)
  + [Oggetto di risposta Get-Status `errors` Neptune Loader](load-api-reference-status-response.md#load-api-reference-status-errors)
  + [Oggetto di risposta Get-Status `errorLogs` Neptune Loader](load-api-reference-status-response.md#load-api-reference-error-logs)
+ [Esempi di Neptune Loader Get-Status](load-api-reference-status-examples.md)
  + [Esempio di richiesta dello stato di caricamento](load-api-reference-status-examples.md#load-api-reference-status-examples-status-request)
  + [Esempio di richiesta di loadIds](load-api-reference-status-examples.md#load-api-reference-status-examples-loadId-request)
  + [Esempio di richiesta dello stato dettagliato](load-api-reference-status-examples.md#load-api-reference-status-examples-details-request)
+ [Esempi di Neptune Loader Get-Status `errorLogs`](load-api-reference-error-logs-examples.md)
  + [Esempio di risposta di stato dettagliata in caso di errori](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-details-request-errors)
  + [Esempio di un errore `Data prefetch task interrupted`](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-task-interrupted)

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

## Sintassi della richiesta Loader Get-Status
<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
```

## Parametri della richiesta di Get-Status Neptune Loader
<a name="load-api-reference-status-parameters"></a>
+ **`loadId`**: ID del processo di caricamento. Se non si specifica a`loadId`, viene restituito un elenco di carichi IDs .
+ **`details`**: include i dettagli aggiuntivi rispetto allo stato generale.

  *Valori consentiti:* `TRUE`, `FALSE`.

  *Valore predefinito*: `FALSE`.
+ **`errors`**: include l'elenco degli errori.

  *Valori consentiti:* `TRUE`, `FALSE`.

  *Valore predefinito*: `FALSE`.

  L'elenco degli errori è paginato. I parametri `page` ed `errorsPerPage` consentono di esaminare tutti gli errori.
+ **`page`**: numero della pagina dell'errore. È valido solo con il parametro `errors` impostato su `TRUE`.

  *Valori consentiti*: interi positivi

  *Valore predefinito*: 1
+ **`errorsPerPage`**: numero di errori per ogni pagina. È valido solo con il parametro `errors` impostato su `TRUE`.

  *Valori consentiti*: interi positivi

  *Valore predefinito*: 10
+ **`limit`**: numero di ID di caricamento da elencare. Valido solo quando si richiede un elenco di carico IDs inviando una `GET` richiesta senza `loadId` specificazioni.

  *Valori consentiti*: interi positivi da 1 a 100.

  *Valore predefinito*: 100
+ **`includeQueuedLoads`**— Un parametro opzionale che può essere utilizzato per escludere il caricamento IDs delle richieste di carico in coda quando viene richiesto un elenco di carico IDs.

  Per impostazione predefinita, il caricamento IDs di tutti i processi di caricamento con stato `LOAD_IN_QUEUE` è incluso in tale elenco. Vengono visualizzati prima del caricamento IDs degli altri lavori, ordinati in base all'ora in cui sono stati aggiunti alla coda dal più recente al meno recente.

  *Valori consentiti:* `TRUE`, `FALSE`.

  *Valore predefinito*: `TRUE`.

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

 Il seguente esempio di risposta dell'API Get-Status Neptune descrive la struttura generale della risposta, spiega i vari campi e i relativi tipi di dati, nonché la gestione degli errori e i dettagli del registro degli errori. 

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

Il layout generale di una risposta dello stato dello strumento di caricamento è il seguente:

```
{
    "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` e oggetti di risposta `failedFeeds`
<a name="load-api-reference-status-response-objects"></a>

Le possibili risposte restituite per ogni feed non riuscito, incluse le descrizioni degli errori, sono le stesse dell'oggetto `overallStatus` in una risposta `Get-Status`.

I seguenti campi vengono visualizzati nell'oggetto `overallStatus` per tutti i caricamenti e nell'oggetto `failedFeeds` per ogni feed non riuscito.
+ **`fullUri`**: URI del file o dei file da caricare.

  *Tipo*: *stringa*

  *Formato*: `s3://bucket/key`.
+ **`runNumber`**: numero di esecuzione di questo caricamento o feed. Aumenta quando il carico viene riavviato.

  *Tipo:* *unsigned long*
+ **`retryNumber`**: numero di nuovi tentativi di questo caricamento o feed. Aumenta quando lo strumento di caricamento prova nuovamente a eseguire un feed o un caricamento automaticamente.

  *Tipo:* *unsigned long*
+ **`status`**: stato restituito del caricamento o del feed. `LOAD_COMPLETED` indica un caricamento riuscito senza problemi. Per un elenco di altri messaggi sullo stato del caricamento, vedi [Messaggi di feed e di errore dello strumento di caricamento Neptune](loader-message.md).

  *Tipo:* *stringa*.
+ **`totalTimeSpent`**: tempo, in secondi, impiegato per analizzare e inserire i dati per il caricamento o il feed. Non è incluso il tempo impiegato per recuperare l'elenco dei file di origine.

  *Tipo:* *unsigned long*
+ **`totalRecords`**: totale dei record caricati o che si è provato a caricare.

  *Tipo:* *unsigned long*

  Tenere presente che quando si carica da un file CSV, il conteggio dei record non si riferisce al numero di righe caricate, ma piuttosto al numero di singoli record in quelle righe. Ad esempio, prendiamo un piccolo file CSV come questo:

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

  Neptune considererà questo file come contenente 3 record, ovvero:

  ```
  P-1  label Player
  P-1  name  Stokes
  P-1  team  England
  ```
+ **`totalDuplicates`**: numero di record duplicati rilevati.

  *Tipo:* *unsigned long*

  Come nel caso del conteggio `totalRecords`, questo valore contiene il numero di singoli record duplicati in un file CSV, non il numero di righe duplicate. Prendiamo ad esempio questo piccolo file CSV:

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

  Lo stato restituito dopo il caricamento sarà simile al seguente, con un totale di 6 record, di cui 3 duplicati:

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

  Per i caricamenti openCypher, un duplicato viene conteggiato quando:
  + Lo strumento di caricamento rileva che una riga in un file dei nodi ha un ID senza uno spazio ID uguale a un altro valore ID senza uno spazio ID, in un'altra riga o appartenente a un nodo esistente.
  + Lo strumento di caricamento rileva che una riga in un file dei nodi ha un ID con uno spazio ID uguale a un altro valore ID con uno spazio ID, in un'altra riga o appartenente a un nodo esistente.

  Per informazioni, consulta [Considerazioni speciali per il caricamento dei dati openCypher](load-api-reference-load.md#load-api-reference-load-parameters-opencypher).
+ **`parsingErrors`**: numero di errori di analisi rilevati.

  *Tipo:* *unsigned long*
+ **`datatypeMismatchErrors`**: numero di record il cui tipo di dati non corrisponde ai dati specificati.

  *Tipo:* *unsigned long*
+ **`insertErrors`**: numero di record che non è stato possibile inserire a causa di errori.

  *Tipo:* *unsigned long*

## Oggetto di risposta Get-Status `errors` Neptune Loader
<a name="load-api-reference-status-errors"></a>

Gli errori rientrano nelle seguenti categorie:
+ **`Error 400`**: un oggetto `loadId` non valido restituisce un errore di richiesta non valida HTTP `400`. Il messaggio descrive l'errore.
+ **`Error 500`**: una richiesta valida che non può essere elaborata restituisce un errore interno del server HTTP `500`. Il messaggio descrive l'errore.

Vedi [Messaggi di feed e di errore dello strumento di caricamento Neptune](loader-message.md) per un elenco dei messaggi di errore e di feed restituiti dallo strumento di caricamento in caso di errori.

Se si verifica un errore, viene restituito un oggetto JSON `errors` nell'oggetto `BODY` della risposta con i seguenti campi:
+ **`startIndex`**: indice del primo errore incluso.

  *Tipo:* *unsigned long*
+ **`endIndex`**: indice dell'ultimo errore incluso.

  *Tipo:* *unsigned long*
+ **`loadId`**: ID del caricamento. È possibile usare questo ID per stampare gli errori per il caricamento impostando il parametro `errors` su `TRUE`.

  *Tipo:* *stringa*.
+ **`errorLogs`**: elenco degli errori.

  *Type:* *elenco*

## Oggetto di risposta Get-Status `errorLogs` Neptune Loader
<a name="load-api-reference-error-logs"></a>

L'oggetto `errorLogs` contenuto nell'oggetto `errors` della risposta Get-Status dello strumento di caricamento contiene un oggetto che descrive ogni errore utilizzando i seguenti campi:
+ **`errorCode`**: identifica la natura dell'errore.

  Può accettare uno dei seguenti valori:
  + `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` (restituito quando lo strumento di caricamento in blocco non è in grado di determinare il tipo di errore).
+ **`errorMessage`**: messaggio che descrive l'errore.

  Può trattarsi di un messaggio generico associato al codice di errore o di un messaggio specifico contenente dettagli, ad esempio su un from/to vertice mancante o su un errore di analisi.
+ **`fileName`**: nome del feed.
+ **`recordNum`**: in caso di errore di analisi, questo è il numero di record nel file del record che non è stato possibile analizzare. Viene impostato su zero se il numero di record non è applicabile all'errore o se non è stato possibile determinarlo.

Ad esempio, lo strumento di caricamento in blocco genererà un errore di analisi se rileva una riga in errore come la seguente in un file RDF `nquads`:

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

Come si può notare, il secondo `http` nella riga precedente dovrebbe essere preceduto da `<` anziché da `|`. L'oggetto di errore risultante in `errorLogs` in una risposta di stato sarà simile al seguente:

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

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

 Gli esempi seguenti mostrano l'utilizzo dell'API Get-Status del loader Neptune, che consente di recuperare informazioni sullo stato dei caricamenti di dati nel database grafico di Amazon Neptune. Questi esempi coprono tre scenari principali: recupero dello stato di un carico specifico, elenco del carico disponibile e richiesta di informazioni dettagliate sullo stato per un carico IDs specifico. 

## Esempio di richiesta dello stato di caricamento
<a name="load-api-reference-status-examples-status-request"></a>

Di seguito viene riportata una richiesta inviata tramite HTTP `GET` mediante il comando `curl`.

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

**Example Risposta**  

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

## Esempio di richiesta di loadIds
<a name="load-api-reference-status-examples-loadId-request"></a>

Di seguito viene riportata una richiesta inviata tramite HTTP `GET` mediante il comando `curl`.

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

**Example Risposta**  

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

## Esempio di richiesta dello stato dettagliato
<a name="load-api-reference-status-examples-details-request"></a>

Di seguito viene riportata una richiesta inviata tramite HTTP `GET` mediante il comando `curl`.

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

**Example Risposta**  

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

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

 Gli esempi seguenti mostrano la risposta dettagliata sullo stato del loader Neptune quando si sono verificati errori durante il processo di caricamento dei dati. Gli esempi illustrano la struttura della risposta, incluse informazioni sui feed non riusciti, sullo stato generale e sui log degli errori dettagliati. 

## Esempio di risposta di stato dettagliata in caso di errori
<a name="load-api-reference-status-examples-details-request-errors"></a>

Questa è una richiesta inviata tramite HTTP `GET` utilizzando `curl`:

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

**Example di una risposta dettagliata in caso di errori**  
Questo è un esempio della risposta che potresti ottenere dalla query precedente, con un oggetto `errorLogs` che elenca gli errori di caricamento riscontrati:  

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

## Esempio di un errore `Data prefetch task interrupted`
<a name="load-api-reference-status-examples-task-interrupted"></a>

Occasionalmente quando ottieni uno stato `LOAD_FAILED` e richiedi informazioni più dettagliate, l'errore restituito potrebbe essere un `PARSING_ERROR` con un messaggio `Data prefetch task interrupted`, come questo:

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

Questo errore ha luogo quando si è verificata un interruzione temporaneo nel processo di caricamento dei dati che non è stato in genere causata dalla richiesta o dai dati. Di solito può essere risolto semplicemente eseguendo nuovamente la richiesta di caricamento in blocco. Se stai utilizzando impostazioni predefinite, ovvero `"mode":"AUTO"` e `"failOnError":"TRUE"`, il loader salta i file che ha già caricato e riprende il caricamento dei file che non aveva ancora caricato quando si è verificata l'interruzione.