

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à.

# documents/batch
<a name="documents-batch-resource"></a>

Questa sezione descrive i messaggi di richiesta e risposta HTTP per la risorsa `documents/batch`. 

Crei batch di documenti per descrivere i dati che desideri caricare su un CloudSearch dominio Amazon. Un batch di documenti è una raccolta di operazioni di aggiunta ed eliminazione che rappresentano i documenti che desideri aggiungere, aggiornare o eliminare da un tuo dominio. I batch possono essere descritti in formato JSON o XML. Un batch fornisce tutte le informazioni di cui Amazon CloudSearch ha bisogno per l'indicizzazione. Ogni articolo che desideri restituire come risultato di ricerca (ad esempio un prodotto) è rappresentato come un documento: un batch è semplicemente una raccolta di richieste di aggiunta ed eliminazione per singoli documenti. Ogni documento ha un ID univoco e uno o più campi che contengono i dati che si desidera ricercare e restituire all'interno dei risultati. 

Per aggiornare un documento, devi specificare una richiesta di aggiunta con l'ID del documento che vuoi aggiornare. Per ulteriori informazioni, consulta [Aggiungere e aggiornare documenti in Amazon CloudSearch](preparing-data.md#adding-documents). Analogamente, per eliminare un documento devi inviare una richiesta di eliminazione con l'ID del documento che vuoi eliminare. Per informazioni sull'eliminazione dei documenti, consultare [Eliminazione di documenti in Amazon CloudSearch](preparing-data.md#deleting-documents).

Per ulteriori informazioni sull'invio di dati per l'indicizzazione, consultare [Caricamento di dati su un dominio Amazon CloudSearch](uploading-data.md).

## documents/batch JSON API
<a name="documents-batch-json"></a>

### Richieste JSON documents/batch
<a name="documents-batch-json-request"></a>

Il corpo di una richiesta `documents/batch` utilizza i formati JSON o XML per specificare le operazioni che vuoi eseguire per i documenti. La rappresentazione JSON di un batch è una raccolta di oggetti che definiscono le singole operazioni di aggiunta ed eliminazione. La proprietà `type` indica se un oggetto rappresenta un'operazione di aggiunta o di eliminazione. Ad esempio, il seguente batch JSON aggiunge un documento ed elimina un documento:

```
[
{ "type": "add",
  "id":   "tt0484562",
  "fields": {
    "title": "The Seeker: The Dark Is Rising",
    "directors": ["Cunningham, David L."],
    "genres": ["Adventure","Drama","Fantasy","Thriller"],
    "actors": ["McShane, Ian","Eccleston, Christopher","Conroy, Frances",
              "Crewson, Wendy","Ludwig, Alexander","Cosmo, James",
              "Warner, Amelia","Hickey, John Benjamin","Piddock, Jim",
              "Lockhart, Emma"]
  }
},
{ "type": "delete",
  "id":   "tt0484575"
}]
```

**Nota**  
Quando specifichi i batch di documenti nel formato JSON, il valore di un campo non può essere `null`.

Di seguito è riportato lo [schema JSON](http://json-schema.org/) di un batch:

```
{
    "type": "array",
    "minItems": 1,
    "items": {
        "type": "object",
        "properties": {
            "type": {
                "type": "string",
                "enum": ["add", "delete"],
                "required": true
            },
            "id": {
                "type": "string",
                "pattern": "[a-z0-9][a-z0-9_]{0,127}",
                "minLength": 1,
                "maxLength": 128,
                "required": true
            },
            "fields": {
                "type": "object",
                "patternProperties": {
                    "[a-zA-Z0-9][a-zA-Z0-9_]{0,63}": {
                        "type": "string",
                    }
                }
            }
        }
    }
}
```

#### Proprietà della richiesta documents/batch (JSON)
<a name="documents-batch-json-properties"></a>


****  

| Proprietà | Description | Richiesto | 
| --- | --- | --- | 
| tipo | Tipo di operazione: add o delete.  | Sì | 
| id | Stringa alfanumerica. I caratteri consentiti sono: A-Z (maiuscole), -a-z (minuscole), 0-9, \_ (carattere di sottolineatura), - (trattino), / (barra), \# (cancelletto), : (due punti). La lunghezza massima è 128 caratteri. | Sì | 
| campi | Insieme di una o più proprietà field\_name che definiscono i campi contenuti nel documento. Condizione: obbligatoria per le operazioni di aggiunta. Deve contenere almeno una proprietà *field\_name*.  | Condizionale | 
| field\_name | Specifica una campo nel documento in fase di aggiunta. I nomi di campo devono iniziare con una lettera e possono includere i seguenti caratteri: a-z (minuscole), 0-9 e \_ (carattere di sottolineatura). I nomi di campo devono avere una lunghezza compresa tra 3 e 64 caratteri. Il nome score è riservato e non può essere utilizzato come nome di campo.  Per specificare più valori per un campo, è necessario specificare un array di valori invece di un singolo valore. Esempio:<br />`"genre": ["Adventure","Drama","Fantasy","Thriller"]`<br /> Condizione: deve essere specificato almeno un campo nell'oggetto campi. | Condizionale | 

### Risposta documents/batch (JSON)
<a name="documents-batch-json-response"></a>

Il corpo della risposta elenca il numero di operazioni di aggiunta ed eliminazione eseguite e gli eventuali errori o avvisi generati. 

Di seguito è riportata la rappresentazione dello schema JSON di una risposta dell'API del servizio documenti:

```
{
    "type": "object",
    "properties": {
        "status": {
            "type": "text",
            "enum": ["success", "error"],
            "required": true
        },
        "adds": {
            "type": "integer",
            "minimum": 0,
            "required": true
        },
        "deletes": {
            "type": "integer",
            "minimum": 0,
            "required": true
        },
        "errors": {
            "type": "array",
            "required": false,
            "items": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "required": true
                    }
                }
            }
        },
        "warnings": {
            "type": "array",
            "required": false,
            "items": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "required": true
                    }
                }
            }
        }
    }
}
```

#### Proprietà della risposta documents/batch (JSON)
<a name="documents-batch-json-response-properties"></a>


****  

| Proprietà | Description | 
| --- | --- | 
| status | Stato del risultato: success o error.  | 
| adds | Numero di operazioni di aggiunta di documenti eseguite. Sempre zero quando lo stato è error.  | 
| deletes | Numero di operazioni di eliminazione di documenti eseguite. Sempre zero quando lo stato è error. Per informazioni sull'eliminazione permanente dei documenti, consultare [Eliminazione di documenti in Amazon CloudSearch](preparing-data.md#deleting-documents). | 
| errori | Fornisce informazioni su un errore di analisi o convalida. Specificato solo se lo stato è error.  | 
| attenzione | Fornisce informazioni su un avviso generato durante l'analisi o la convalida.  | 

## Codici di stato documents/batch
<a name="documents-batch-status-codes"></a>

Una richiesta del servizio documenti può restituire tre tipi di codici di stato:
+ I codici di stato 5xx indicano che si è verificato un errore interno del server. Consigliamo di intercettare e riprovare tutti i codici di errore 5xx in quanto solitamente rappresentano condizioni di errore transitorie.
+ I codici di stato 4xx indicano che la richiesta non è stata formulata correttamente.
+ I codici di stato 2xx indicano che la richiesta è riuscita.


****  

|  Errore  |  Description  | Codice di stato HTTP  | 
| --- | --- | --- | 
|  No Content-Type  |  L'intestazione Content-Type è assente.  |  400  | 
|  No Content-Length  |  L'intestazione Content-Lenght è assente.  |  411  | 
|  Incorrect Path  |  Il percorso dell'URL non corrisponde a «/YYYY-MM-». DD/documents/batch  |  404  | 
|  Invalid HTTP Method  |  Il metodo HTTP non è POST. Le richieste devono essere inviate a documenti/batch.  |  405  | 
|  Invalid Accept Type  |  L'intestazione Accept specifica un tipo di contenuto diverso da "». application/xml'' or ''application/json Le risposte possono essere inviate solo come XML o JSON.  |  406  | 
|  Request Too Large  |  La lunghezza del corpo della richiesta è superiore al valore massimo consentito.  |  413  | 
|  Invalid Content Type  |  Il tipo di contenuto è diverso da "»application/json" or "application/xml.  |  415  | 
|  Invalid Character Set  |  Il set di caratteri è diverso da "'ASCII'', ''ISO-8859-1'' o ''UTF-8''.  |  415  | 

## Intestazioni di richiesta comuni
<a name="documents-batch-common-request-headers"></a>


****  

| Nome | Description | Richiesto | 
| --- | --- | --- | 
| Content-Type | Tipo MIME standard che descrive il formato dei dati oggetto. Per ulteriori informazioni, consultare la [sezione 14 del protocollo RFC 2616 di W3C](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Predefinito: application/json <br />Vincoli: application/json o solo application/xml  | Richiesto | 
| Content-Length | La lunghezza in byte del corpo della richiesta.  | Sì | 
| Accettare | Tipo MIME standard che descrive il formato dei dati della risposta. Per ulteriori informazioni, consultare la [sezione 14 del protocollo RFC 2616 di W3C](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Impostazione predefinita: Content-Type della richiesta<br />Vincoli: o solo application/json application/xml  | No | 

## Intestazioni di risposta comuni
<a name="documents-batch-common-response-headers"></a>


****  

| Nome | Description | 
| --- | --- | 
| Content-Type | Tipo MIME standard che descrive il formato dei dati oggetto. Per ulteriori informazioni, consultare la [sezione 14 del protocollo RFC 2616 di W3C](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Predefinito: il valore dell'intestazione Accept nella richiesta o il Content-Type della richiesta se l'intestazione Accept è mancante o non specifica né application/json. application/xml <br />Vincoli: application/xml o solo application/json  | 
| Content-Length | La lunghezza in byte del corpo della risposta.  | 