

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, \$1 (carattere di sottolineatura), - (trattino), / (barra), \$1 (cancelletto), : (due punti). La lunghezza massima è 128 caratteri. | Sì | 
| campi | Insieme di una o più proprietà field\$1name che definiscono i campi contenuti nel documento. Condizione: obbligatoria per le operazioni di aggiunta. Deve contenere almeno una proprietà *field\$1name*.  | Condizionale | 
| field\$1name | 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 \$1 (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: `"genre": ["Adventure","Drama","Fantasy","Thriller"]`  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.  | 

# documents/batch XML API
<a name="documents-batch-xml"></a>

## Richieste XML documents/batch
<a name="documents-batch-xml-request"></a>

Il corpo di una richiesta `documents/batch` specifica le operazioni dei documenti che vuoi eseguire in XML. Esempio:

```
<batch>
	<add  id="tt0484562">
		<field name="title">The Seeker: The Dark Is Rising</field>
		<field name="director">Cunningham, David L.</field>
		<field name="genre">Adventure</field>
		<field name="genre">Drama</field>
		<field name="genre">Fantasy</field>
		<field name="genre">Thriller</field>
		<field name="actor">McShane, Ian</field>
		<field name="actor">Eccleston, Christopher</field>
		<field name="actor">Conroy, Frances</field>
		<field name="actor">Ludwig, Alexander</field>
		<field name="actor">Crewson, Wendy</field>
		<field name="actor">Warner, Amelia</field>
		<field name="actor">Cosmo, James</field>
		<field name="actor">Hickey, John Benjamin</field>
		<field name="actor">Piddock, Jim</field>
		<field name="actor">Lockhart, Emma</field>
	</add>
	<delete id="tt0301199" />
</batch>
```

### Elementi della richiesta documents/batch (XML)
<a name="documents-batch-xml-request-elements"></a>


****  

| Elemento | Description | Richiesto | 
| --- | --- | --- | 
| batch | Raccolta di operazioni di aggiunta o eliminazione che vuoi inviare al tuo dominio di ricerca. Un batch deve contenere almeno un elemento di aggiunta o eliminazione.  | Sì | 
| aggiungi | Specifica un documento che vuoi aggiungere al tuo dominio di ricerca. Gli attributi id sono obbligatori e un elemento add deve contenere almeno un campo. Attributi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/documents-batch-xml.html)  | No | 
| field | Specifica un campo nel documento in fase di aggiunta. Sono obbligatori l'attributo name e un valore del campo. I nomi di campo devono iniziare con una lettera e possono includere i seguenti caratteri: a-z (minuscole), 0-9 e \$1 (carattere di sottolineatura). Il nome score è riservato e non può essere utilizzato come nome di campo. Il valore del campo può essere testo o CDATA.  Per specificare più valori per un campo, includi più elementi field con lo stesso nome. Esempio: <pre><field name="genre">Adventure</field><br /><field name="genre">Drama</field><br /><field name="genre">Fantasy</field><br /><field name="genre">Thriller</field></pre> Vincoli: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/documents-batch-xml.html)  Condizione: deve essere specificato almeno un campo in un elemento add.  | Condizionale | 
| Elimina | Specifica un documento che vuoi rimuovere dal tuo dominio di ricerca. L'attributo id è obbligatorio. Un elemento delete deve essere vuoto. Per informazioni sull'eliminazione permanente dei documenti, consultare [Eliminazione di documenti in Amazon CloudSearch](preparing-data.md#deleting-documents).Vincoli: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/documents-batch-xml.html)  | No | 

## Risposta documents/batch (XML)
<a name="documents-batch-xml-response"></a>

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

Lo schema RelaxNG di una risposta dell'API del servizio documenti è:

```
 start = response

response = element response {
    attribute status { "success" | "error" },
    attribute adds { xsd:integer },
    attribute deletes { xsd:integer },
    element errors {
        element error {
            text
        }+
    }? &
    element warnings {
        element warning {
            text
        }+
    }?
}
```

### Elementi della risposta documents/batch (XML)
<a name="documents-batch-xml-response-elements"></a>


****  

| Elemento | Description | 
| --- | --- | 
| result | Contiene elementi che elencano gli errori e gli avvisi generati durante l'analisi e la convalida della richiesta.  Attributi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/documents-batch-xml.html) Vincoli: se lo stato è `error`, l'elemento results contiene un elenco di errori. Se lo stato è `success`, l'elemento results può contenere un elenco di avvisi, ma nessun errore.  | 
| errori | Contiene un insieme di elementi error che individuano gli errori verificatisi durante l'analisi e la convalida della richiesta.  | 
| error | Fornisce informazioni su un errore di analisi o convalida. Il valore fornisce una descrizione dell'errore.  | 
| avvisi | Contiene un insieme di elementi warning che individuano gli avvisi generati durante l'analisi e la convalida della richiesta.  | 
| attenzione | Fornisce informazioni su un avviso relativo all'analisi o alla convalida. Il valore fornisce una descrizione dell'errore.  | 

## 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  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 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  Vincoli: application/xml o solo application/json   | 
| Content-Length | La lunghezza in byte del corpo della risposta.  | 