

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

# Versione precedente dell’API DynamoDB di basso livello (2011-12-05)
<a name="Appendix.APIv20111205"></a>

In questa sezione vengono riportate le operazioni disponibili nella versione dell'API di basso livello DynamoDB precedente (2011-12-05). Questa versione dell'API di basso livello viene mantenuta per compatibilità con le versioni precedenti delle applicazioni esistenti.

**Le nuove applicazioni devono utilizzare la versione corrente dell'API (2012-08-10)**. Per ulteriori informazioni, consulta [Documentazione di riferimento dell’API DynamoDB](CurrentAPI.md).

**Nota**  
Consigliamo di eseguire la migrazione delle applicazioni alla versione più recente dell'API (2012-08-10) poiché le nuove caratteristiche DynamoDB non saranno sottoposte al backport per la precedente versione dell'API.

**Topics**
+ [BatchGetItem](API_BatchGetItem_v20111205.md)
+ [BatchWriteItem](API_BatchWriteItem_v20111205.md)
+ [CreateTable](API_CreateTable_v20111205.md)
+ [DeleteItem](API_DeleteItem_v20111205.md)
+ [DeleteTable](API_DeleteTable_v20111205.md)
+ [DescribeTables](API_DescribeTables_v20111205.md)
+ [GetItem](API_GetItem_v20111205.md)
+ [ListTables](API_ListTables_v20111205.md)
+ [PutItem](API_PutItem_v20111205.md)
+ [Query](API_Query_v20111205.md)
+ [Scan](API_Scan_v20111205.md)
+ [UpdateItem](API_UpdateItem_v20111205.md)
+ [UpdateTable](API_UpdateTable_v20111205.md)

# BatchGetItem
<a name="API_BatchGetItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_BatchGetItem_Description"></a>

L'operazione `BatchGetItem` restituisce gli attributi per più elementi da più tabelle utilizzando le loro chiavi primarie. Il numero massimo di elementi che possono essere recuperati per una singola operazione è 100. Inoltre, il numero di elementi recuperati è vincolato da un limite di 1 MB. Se il limite delle dimensioni della risposta viene superato o viene restituito un risultato parziale perché viene superata la velocità effettiva assegnata della tabella oppure a causa di un errore di elaborazione interno, DynamoDB restituisce un valore `UnprocessedKeys` in modo da poter riprovare l'operazione iniziando con l'elemento successivo da ottenere. per applicare questo limite DynamoDB regola automaticamente il numero di elementi restituiti per pagina. Ad esempio, anche se si chiede di recuperare 100 elementi, ma ogni singolo elemento ha una dimensione di 50 KB, il sistema restituisce 20 elementi e un valore `UnprocessedKeys` appropriato in modo da visualizzare la pagina di risultati successiva. Se lo desidera, l'applicazione può includere la propria logica per assemblare le pagine dei risultati in un unico set.

Se non è possibile elaborare gli elementi a causa della velocità effettiva assegnata insufficiente su ciascuna delle tabelle coinvolte nella richiesta, DynamoDB restituisce un errore `ProvisionedThroughputExceededException`. 

**Nota**  
Per impostazione predefinita,`BatchGetItem` esegue letture a consistenza finale su ogni tabella nella richiesta. È possibile impostare il parametro `ConsistentRead` su `true`, su base per tabella, se desideri invece avere letture consistenti.  
`BatchGetItem` recupera gli elementi in parallelo per ridurre al minimo la latenza delle risposte.  
Durante la progettazione dell'applicazione, tenere presente che DynamoDB non garantisce come gli attributi vengono ordinati nella risposta restituita. Includere i valori delle chiavi primarie in `AttributesToGet` per gli elementi nella richiesta per analizzare la risposta in base all'elemento.   
Se gli elementi richiesti non esistono, non viene restituito nulla nella risposta per tali elementi. Le richieste di elementi inesistenti consumano le unità di capacità di lettura minima in base al tipo di lettura. Per ulteriori informazioni, consulta [Dimensioni e formati degli elementi di DynamoDB](CapacityUnitCalculations.md).

## Richieste
<a name="API_BatchGetItem_RequestParameters"></a>

### Sintassi
<a name="API_BatchGetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{"RequestItems":
    {"Table1": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
    "Table2": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue4"}}, 
            {"HashKeyElement": {"S":"KeyValue5"}}],
        "AttributesToGet": ["AttributeName4", "AttributeName5", "AttributeName6"]
        }
    }
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  RequestItems  | Un container del nome della tabella e degli elementi corrispondenti da ottenere in base alla chiave primaria. Durante la richiesta di elementi, ogni nome di tabella può essere richiamato una sola volta per operazione.Tipo: string Impostazione predefinita: nessuna  |  Sì | 
| Table |  Il nome della tabella che contiene gli elementi da ricevere. La voce è semplicemente una stringa che specifica una tabella esistente senza etichetta. Tipo: string  Impostazione predefinita: nessuna   | Sì | 
| Table:Keys  |  I valori della chiave primaria che definiscono gli elementi nella tabella specificata. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). Tipo: chiavi   | Sì | 
| Table:AttributesToGet  |  Matrice di nomi di attributi all'interno della tabella specificata. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato.  Tipo: Array   | No | 
| Table:ConsistentRead  |  Se impostato su `true`, viene emessa una lettura consistente, altrimenti viene utilizzata la consistenza finale. Tipo: Booleano   | No | 

## Risposte
<a name="API_BatchGetItem_ResponseElements"></a>

### Sintassi
<a name="API_BatchGetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0 
content-length: 855

{"Responses":
    {"Table1":
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue", "AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1},
    "Table2": 
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue","AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":
        {"Table3": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}
        }
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| Responses  | I nomi delle tabelle e i rispettivi attributi degli elementi delle tabelle.Tipo: Map  | 
| Table |  Il nome della tabella che contiene gli elementi. La voce è semplicemente una stringa che specifica la tabella senza etichetta.Tipo: string  | 
| Items  | Container per i nomi e i valori degli attributi che soddisfano i parametri dell'operazione.Tipo: mappa di nomi degli attributi e dei relativi tipi di dati e valori. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di lettura utilizzate per ogni tabella. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Le richieste di elementi inesistenti consumano le unità di capacità di lettura minima in base al tipo di lettura. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 
| UnprocessedKeys | Contiene una matrice di tabelle e le rispettive chiavi che non sono state elaborate con la risposta corrente, probabilmente a causa del raggiungimento di un limite sulla dimensione della risposta. Il valore `UnprocessedKeys` è nella stessa forma di un parametro `RequestItems` (quindi il valore può essere fornito direttamente a un'operazione `BatchGetItem` successiva). Per ulteriori informazioni, consulta la sezione precedente sul parametro `RequestItems`.Tipo: Array  | 
| UnprocessedKeys: Table: Keys  | I valori degli attributi della chiave primaria che definiscono gli elementi e gli attributi associati agli elementi. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: matrice di coppie nome-valore.  | 
| UnprocessedKeys: Table: AttributesToGet  |  I nomi degli attributi all'interno della tabella specificata. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato.  Tipo: matrice di nomi di attributi.  | 
| UnprocessedKeys: Table: ConsistentRead  |   Se impostato su`true`, viene utilizzata una lettura consistente per la tabella specificata, altrimenti viene utilizzata una lettura a consistenza finale. Tipo: Boolean  | 

## Errori speciali
<a name="API_BatchGetItem_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | È stata superata la velocità effettiva assegnata massima consentita.  | 

## Esempi
<a name="API_BatchGetItem_Examples"></a>

Gli esempi seguenti mostrano una richiesta HTTP POST e una risposta tramite l'operazione BatchGetItem. Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

### Richiesta di esempio
<a name="API_BatchGetItem_Examples_Request"></a>

L'esempio seguente richiede gli attributi da due tabelle differenti.

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 
content-length: 409

{"RequestItems":
    {"comp1":
        {"Keys":
            [{"HashKeyElement":{"S":"Casey"},"RangeKeyElement":{"N":"1319509152"}},
            {"HashKeyElement":{"S":"Dave"},"RangeKeyElement":{"N":"1319509155"}},
            {"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"1319509158"}}],
        "AttributesToGet":["user","status"]},
    "comp2":
        {"Keys":
            [{"HashKeyElement":{"S":"Julie"}},{"HashKeyElement":{"S":"Mingus"}}],
        "AttributesToGet":["user","friends"]}
    }
}
```

### Risposta di esempio
<a name="API_BatchGetItem_Examples_Response"></a>

Il seguente esempio è la risposta.

```
HTTP/1.1 200 OK
x-amzn-RequestId: GTPQVRM4VJS792J1UFJTKUBVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0 
content-length: 373
Date: Fri, 02 Sep 2011 23:07:39 GMT

{"Responses":
    {"comp1":
        {"Items":
            [{"status":{"S":"online"},"user":{"S":"Casey"}},
            {"status":{"S":"working"},"user":{"S":"Riley"}},
            {"status":{"S":"running"},"user":{"S":"Dave"}}],
        "ConsumedCapacityUnits":1.5},
    "comp2":
        {"Items":
            [{"friends":{"SS":["Elisabeth", "Peter"]},"user":{"S":"Mingus"}},
            {"friends":{"SS":["Dave", "Peter"]},"user":{"S":"Julie"}}],
        "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":{}
}
```

# BatchWriteItem
<a name="API_BatchWriteItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_BatchWriteItems_Description"></a>

Questa operazione consente di inserire ed eliminare più elementi da una o più tabelle con un'unica chiamata. 

Per caricare un elemento è possibile utilizzare `PutItem` mentre per eliminare un elemento è possibile utilizzare `DeleteItem`. Tuttavia, se desideri caricare o eliminare grandi quantità di dati, ad esempio caricare grandi quantità di dati da Amazon EMR (Amazon EMR) o migrare dati da un altro database in DynamoDB, `BatchWriteItem` rappresenta un'alternativa efficiente. 

Se si utilizzano linguaggi come Java, è possibile utilizzare i thread per caricare gli elementi in parallelo. Ciò aggiunge complessità all'applicazione per gestire i thread. Altri linguaggi non supportano il threading. Ad esempio, se si utilizza PHP, è necessario caricare o eliminare gli elementi uno alla volta. In entrambe le situazioni, `BatchWriteItem` fornisce un'alternativa in cui le operazioni put ed delete specificate vengono elaborate in parallelo, offrendo così la potenza dell'approccio del pool di thread senza dover introdurre complessità nell'applicazione. 

Si noti che ogni singola operazione put ed delete specificata in un'operazione `BatchWriteItem` costa uguale in termini di unità di capacità consumate. Tuttavia, perché `BatchWriteItem` esegue le operazioni specificate in parallelo, si ottiene una latenza inferiore. Le operazioni di eliminazione su elementi inesistenti consumano 1 unità di capacità di scrittura. Per ulteriori informazioni sulle unità di capacità consumate, consulta [Utilizzo di tabelle e dati in DynamoDB](WorkingWithTables.md).

Quando si utilizza `BatchWriteItem`, tenere presente le limitazioni seguenti:
+ **Operazioni massime in una singola richiesta**: è possibile specificare un totale massimo di 25 operazioni put o delete; tuttavia, la dimensione totale della richiesta non può superare 1 MB (il payload HTTP). 
+ È possibile utilizzare l'operazione `BatchWriteItem` solo per inserire ed eliminare elementi. Non è possibile utilizzarla per aggiornare gli elementi esistenti.
+ **Non è un'operazione atomica**: le singole operazioni specificate in `BatchWriteItem` sono atomiche; tuttavia `BatchWriteItem`nel suo complesso è un'operazione "migliore sforzo" e non un'operazione atomica. In altre parole, in una richiesta `BatchWriteItem` alcune operazioni potrebbero avere esito positivo e altre potrebbero non riuscire. Le operazioni non riuscite vengono restituite in un campo `UnprocessedItems` nella risposta. Alcuni di questi errori potrebbero essere dovuti al superamento della velocità effettiva assegnata configurata per la tabella o a un errore temporaneo, ad esempio un errore di rete. È possibile esaminare e inviare nuovamente le richieste. In genere `BatchWriteItem` viene richiamato in un loop e in ogni iterazione vengono controllati gli elementi non elaborati, quindi si invia una nuova richiesta `BatchWriteItem` con gli elementi non elaborati. 
+ **Non restituisce alcun elemento**: `BatchWriteItem` è progettato per caricare grandi quantità di dati in modo efficiente. Non fornisce alcune delle sofisticazioni offerte da `PutItem` e `DeleteItem`. Ad esempio, `DeleteItem` supporta il campo `ReturnValues` nel corpo della richiesta per richiedere l'elemento eliminato nella risposta. L'operazione `BatchWriteItem` non restituisce alcun elemento nella risposta.
+ A differenza di `PutItem` e `DeleteItem`, `BatchWriteItem` non consente di specificare le condizioni sulle singole richieste di scrittura nell'operazione.
+ I valori degli attributi non devono essere nulli; gli attributi di tipo stringa e binario devono avere lunghezze maggiori di zero e gli attributi di tipo set non devono essere vuoti. Le richieste con valori vuoti verranno rifiutate con una`ValidationException`.

DynamoDB rifiuta l'intera operazione di scrittura in batch se si verifica una delle seguenti condizioni: 
+ Se una o più tabelle specificate nella richiesta `BatchWriteItem` non esiste.
+ Se gli attributi della chiave primaria specificati su un elemento nella richiesta non corrispondono allo schema di chiave primaria della tabella corrispondente.
+ Se si prova a eseguire più operazioni sullo stesso elemento nella stessa richiesta `BatchWriteItem`. Ad esempio, non è possibile inserire ed eliminare lo stesso elemento nella stessa richiesta `BatchWriteItem`. 
+ Se la dimensione totale della richiesta supera il limite di 1 MB (il payload HTTP).
+ Se un singolo elemento in un batch supera il limite di dimensioni degli elementi di 64 KB.

## Richieste
<a name="API_BatchWriteItems_RequestParameters"></a>

### Sintassi
<a name="API_BatchWriteItems_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems" :  RequestItems
} 

RequestItems
{
     "TableName1" :  [ Request, Request, ... ],
     "TableName2" :  [ Request, Request, ... ],
     ...
}

Request ::=
  PutRequest | DeleteRequest

PutRequest ::=
{
  "PutRequest" : {
     "Item" : {
        "Attribute-Name1" : Attribute-Value,
        "Attribute-Name2" : Attribute-Value,
         ...
     }
  }
}

DeleteRequest ::=
{
   "DeleteRequest" : {
      "Key" : PrimaryKey-Value
   }
}


PrimaryKey-Value ::= HashTypePK | HashAndRangeTypePK

HashTypePK ::=
{ 
   "HashKeyElement" : Attribute-Value
}

HashAndRangeTypePK
{ 
   "HashKeyElement" : Attribute-Value,
   "RangeKeyElement" : Attribute-Value, 
}

Attribute-Value ::= String | Numeric| Binary | StringSet | NumericSet | BinarySet 

Numeric ::=
{
   "N": "Number"
}

String ::=
{
   "S": "String"
}

Binary ::=
{
    "B": "Base64 encoded binary data"
}

StringSet ::=
{
   "SS": [ "String1", "String2", ... ]
}

NumberSet ::=
{
   "NS": [ "Number1", "Number2", ... ]
}  

BinarySet ::=
{
   "BS": [ "Binary1", "Binary2", ... ]
}
```

Nel corpo della richiesta, l'oggetto JSON `RequestItems` descrive le operazioni che desideri eseguire. Le operazioni sono raggruppate per tabelle. È possibile utilizzare `BatchWriteItem` per aggiornare o eliminare più elementi in più tabelle. Per ogni richiesta di scrittura specifica, è necessario identificare il tipo di richiesta (`PutItem`, `DeleteItem`) seguito da informazioni dettagliate sull'operazione. 
+ Per un `PutRequest`, si fornisce l'elemento, ovvero un elenco di attributi e i relativi valori.
+ Per un `DeleteRequest`, si forniscono il nome e il valore della chiave primaria. 

## Risposte
<a name="API_BatchWriteItems_ResponseElements"></a>

### Sintassi
<a name="API_BatchWriteItems_ResponseElements.syntax"></a>

Di seguito è riportata la sintassi del corpo JSON restituito nella risposta.

```
{
  "Responses" :         ConsumedCapacityUnitsByTable
  "UnprocessedItems" :  RequestItems
} 

ConsumedCapacityUnitsByTable
{
    "TableName1" : { "ConsumedCapacityUnits", : NumericValue },
    "TableName2" : { "ConsumedCapacityUnits", : NumericValue },
     ...
}

RequestItems
This syntax is identical to the one described in the JSON syntax in the request.
```

## Errori speciali
<a name="API_BatchWriteItems_SpecialErrors"></a>

Nessun errore specifico per questa operazione.

## Esempi
<a name="API_BatchWriteItems_Examples"></a>

Il seguente esempio mostra una richiesta HTTP POST e la risposta di un'operazione `BatchWriteItem`. La richiesta specifica le seguenti operazioni nelle tabelle Reply e Thread:
+ Inserimento ed eliminazione di un elemento dalla tabella Reply.
+ Inserisci un elemento nella tabella Thread

Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

### Richiesta di esempio
<a name="API_BatchWriteItems_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems":{
    "Reply":[
      {
        "PutRequest":{
          "Item":{
            "ReplyDateTime":{
              "S":"2012-04-03T11:04:47.034Z"
            },
            "Id":{
              "S":"DynamoDB#DynamoDB Thread 5"
            }
          }
        }
      },
      {
        "DeleteRequest":{
          "Key":{
            "HashKeyElement":{
              "S":"DynamoDB#DynamoDB Thread 4"
            },
            "RangeKeyElement":{
              "S":"oops - accidental row"
            }
          }
        }
      }
    ],
    "Thread":[
      {
        "PutRequest":{
          "Item":{
            "ForumName":{
              "S":"DynamoDB"
            },
            "Subject":{
              "S":"DynamoDB Thread 5"
            }
          }
        }
      }
    ]
  }
}
```

### Risposta di esempio
<a name="API_BatchWriteItems_Examples_Response"></a>

La risposta di esempio seguente mostra un'operazione put nelle tabelle Thread e Reply completata e un'operazione di eliminazione nella tabella Reply non riuscita (per motivi quali la limitazione causata quando si supera la velocità effettiva assegnata nella tabella). Nella risposta JSON, tenere presente quanto segue:
+ L'oggetto `Responses` mostra che un'unità di capacità è stata utilizzata su entrambe le tabelle `Thread` e `Reply` come risultato dell'operazione put riuscita su ciascuna di queste tabelle. 
+ L'oggetto `UnprocessedItems` mostra l'operazione di eliminazione non riuscita sulla tabella `Reply`. È quindi possibile emettere una nuova chiamata `BatchWriteItem` per rispondere a queste richieste non elaborate.

```
HTTP/1.1 200 OK
x-amzn-RequestId: G8M9ANLOE5QA26AEUHJKJE0ASBVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/x-amz-json-1.0
Content-Length: 536
Date: Thu, 05 Apr 2012 18:22:09 GMT

{
   "Responses":{
      "Thread":{
         "ConsumedCapacityUnits":1.0
      },
      "Reply":{
         "ConsumedCapacityUnits":1.0
      }
   },
   "UnprocessedItems":{
      "Reply":[
         {
            "DeleteRequest":{
               "Key":{
                  "HashKeyElement":{
                     "S":"DynamoDB#DynamoDB Thread 4"
                  },
                  "RangeKeyElement":{
                     "S":"oops - accidental row"
                  }
               }
            }
         }
      ]
   }
}
```

# CreateTable
<a name="API_CreateTable_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_CreateTable_Description"></a>

L'operazione `CreateTable` aggiunge una nuova tabella all'account.

Il nome della tabella deve essere univoco tra quelli associati all'account AWS che effettua la richiesta e alla regione AWS che riceve la richiesta (ad esempio dynamodb.us-west-2.amazonaws.com). Ogni endpoint DynamoDB è completamente indipendente. Ad esempio, se sono presenti due tabelle chiamate "MyTable", una in dynamodb.us-west-2.amazonaws.com e una in dynamodb.us-west-1.amazonaws.com, queste tabelle sono completamente indipendenti e non condividono alcun dato.

L'operazione `CreateTable` attiva un flusso di lavoro asincrono per iniziare a creare la tabella. DynamoDB restituisce immediatamente lo stato della tabella (`CREATING`) fino a quando la tabella si trova nello stato `ACTIVE`. Una volta che la tabella si trova nello stato `ACTIVE`, è possibile eseguire le operazioni del piano dati. 

Utilizza l'operazione [DescribeTables](API_DescribeTables_v20111205.md) per visualizzare lo stato della tabella. 

## Richieste
<a name="API_CreateTable_RequestParameters"></a>

### Sintassi
<a name="API_CreateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Nome della tabella da creare.I caratteri consentiti sono a-z, A-Z, 0-9, '\$1' (sottolineatura), '-' (trattino) e '.' (punto). I nomi possono contenere un numero di caratteri compreso tra 3 e 255 caratteri. Tipo: string  |  Sì  | 
|  KeySchema  | La struttura della chiave primaria (semplice o composita) per la tabella. Una coppia nome-valore per `HashKeyElement` è obbligatoria mentre una coppia nome-valore per `RangeKeyElement` è facoltativa (richiesta solo per le chiavi primarie composite). Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).I nomi degli elementi della chiave primaria possono contenere un massimo di 255 caratteri, senza alcuna limitazione. I valori possibili per AttributeType sono "S" (stringa), "N" (numerico) o "B" (binario).Tipo: mappa di `HashKeyElement`, oppure `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | Sì | 
|  ProvisionedThroughput  | La nuova velocità effettiva per la tabella specificata, costituita dai valori per ReadCapacityUnits e WriteCapacityUnits. Per informazioni dettagliate, consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md).  Per i valori massimi e minimi correnti, consulta [Quote in Amazon DynamoDB](ServiceQuotas.md). Tipo: Array  | Sì | 
| ProvisionedThroughput: ReadCapacityUnits |  Imposta il numero minimo di `ReadCapacityUnits` con consistenza consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni.  Le operazioni di lettura a consistenza finale richiedono meno sforzo rispetto a un'operazione di lettura consistente, quindi un'impostazione di 50 `ReadCapacityUnits` consistente al secondo fornisce 100 `ReadCapacityUnits` a consistenza finale al secondo. Tipo: numero  | Sì | 
| ProvisionedThroughput: WriteCapacityUnits | Imposta il numero minimo di WriteCapacityUnits consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni. Tipo: numero  | Sì | 

## Risposte
<a name="API_CreateTable_CommonResponseElements"></a>

### Sintassi
<a name="API_CreateTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"CREATING"
    }
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| TableDescription  | Un container per le proprietà della tabella. | 
| CreationDateTime | La data in cui la tabella è stata creata in [formato orario epoch UNIX](http://www.epochconverter.com/).Tipo: numero | 
| KeySchema  | La struttura della chiave primaria (semplice o composita) per la tabella. Una coppia nome-valore per `HashKeyElement` è obbligatoria mentre una coppia nome-valore per `RangeKeyElement` è facoltativa (richiesta solo per le chiavi primarie composite). Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement`, oppure `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | 
| ProvisionedThroughput  |  Velocità effettiva per la tabella specificata, costituita dai valori per `ReadCapacityUnits` e `WriteCapacityUnits`. Consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: Array   | 
| ProvisionedThroughput :ReadCapacityUnits |  Il numero minimo di `ReadCapacityUnits` consumate al secondo prima che DynamoDB bilanci il carico con altre operazioniTipo: numero  | 
| ProvisionedThroughput :WriteCapacityUnits |  Il numero minimo di `ReadCapacityUnits` consumate al secondo prima che `WriteCapacityUnits` bilanci il carico con altre operazioniTipo: numero  | 
|  TableName  |  Il nome della tabella creata. Tipo: string  | 
|  TableStatus  | Lo stato corrente della tabella (`CREATING`). Una volta che la tabella si trova nello stato `ACTIVE`, è possibile inserire i dati.Utilizza l'API [DescribeTables](API_DescribeTables_v20111205.md) per controllare lo stato della tabella.Tipo: string | 

## Errori speciali
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
|  ResourceInUseException  | Tentativo di creare nuovamente una tabella già esistente. | 
|  LimitExceededException  | Il numero di richieste di tabella simultanee (numero cumulativo di tabelle nello stato `CREATING`, `DELETING` o `UPDATING`) supera il massimo consentito. Per i valori massimi e minimi correnti, consulta [Quote in Amazon DynamoDB](ServiceQuotas.md). .  | 

## Esempi
<a name="API_CreateTable_Examples"></a>

Nell'esempio seguente viene creata una tabella con una chiave primaria composita contenente una stringa e un numero. Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di tabelle e dati in DynamoDB](WorkingWithTables.md).

### Richiesta di esempio
<a name="API_CreateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0


{"TableName":"comp-table",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```

### Risposta di esempio
<a name="API_CreateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"comp-table",
    "TableStatus":"CREATING"
    }
}
```

## Operazioni correlate
<a name="API_CreateTable_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md)

# DeleteItem
<a name="API_DeleteItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_DeleteItem_Description"></a>

Elimina un singolo elemento in una tabella in base alla chiave primaria. È possibile eseguire un'operazione di eliminazione condizionale che elimina l'elemento se esiste o se ha un valore di attributo previsto.

**Nota**  
Se si specifica `DeleteItem` senza attributi o valori, tutti gli attributi per l'elemento saranno eliminati.   
A meno che non si specifichino delle condizioni, `DeleteItem` è un'operazione idempotente; eseguendola più volte sullo stesso elemento o attributo *non* si ha una risposta di errore.  
Le eliminazioni condizionali sono utili per eliminare elementi e attributi solo quando sono soddisfatte condizioni specifiche. Se le condizioni sono soddisfatte, DynamoDB esegue l'eliminazione. In caso contrario, l'elemento non viene eliminato.   
È possibile eseguire il controllo condizionale previsto su un attributo per operazione.

## Richieste
<a name="API_DeleteItem_RequestParameters"></a>

### Sintassi
<a name="API_DeleteItem_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteItem 
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
    "Key":
        {"HashKeyElement":{"S":"AttributeValue1"},"RangeKeyElement":{"N":"AttributeValue2"}},
    "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3"}}},
    "ReturnValues":"ALL_OLD"}
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che contiene l'elemento da eliminare. Tipo: string  |  Sì  | 
|  Key  | La chiave primaria che definisce l'elemento. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement` sul suo valore e `RangeKeyElement` sul suo valore. | Sì | 
| Expected  | Designa un attributo per un'eliminazione condizionale. Il parametro `Expected` consente di fornire un nome di attributo e se DynamoDB deve controllare o meno se l'attributo ha un valore particolare prima di eliminarlo.Tipo: mappa dei nomi degli attributi. | No | 
| Expected:AttributeName  | Il nome dell'attributo per il put condizionale. Tipo: string | No | 
| Expected:AttributeName: ExpectedAttributeValue | Utilizza questo parametro per specificare se esiste già un valore per la coppia nome-valore dell'attributo. La seguente notazione JSON elimina l'elemento se l'attributo "Colore" non esiste per quell'elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La seguente notazione JSON controlla se l'attributo con nome "Colore" ha un valore esistente pari a "Giallo" prima di eliminare l'elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>Per impostazione predefinita, se si utilizza il parametro `Expected` e si fornisce un `Value`, DynamoDB presuppone che l'attributo esista e abbia un valore corrente da sostituire. Quindi non è necessario specificare`{"Exists":true}` perché è implicito. È possibile abbreviare la richiesta in:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Se si specifica `{"Exists":true}` senza un valore di attributo da controllare, DynamoDB restituisce un errore.  | No | 
| ReturnValues  | Utilizza questo parametro se desideri ottenere le coppie nome-valore dell'attributo prima che vengano eliminate. I valori possibili dei parametri sono`NONE` (predefinito) o `ALL_OLD`. Se viene specificato `ALL_OLD`, viene restituito il contenuto del vecchio elemento. Se questo parametro non viene fornito o è `NONE`, non viene restituito nulla.Tipo: string | No | 

## Risposte
<a name="API_DeleteItem_CommonResponseElements"></a>

### Sintassi
<a name="API_DeleteItem_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 353
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"Attributes":
    {"AttributeName3":{"SS":["AttributeValue3","AttributeValue4","AttributeValue5"]},
    "AttributeName2":{"S":"AttributeValue2"},
    "AttributeName1":{"N":"AttributeValue1"}
    },
"ConsumedCapacityUnits":1
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  Attributes  | Se il parametro `ReturnValues` viene fornito come `ALL_OLD` nella richiesta, DynamoDB restituisce una matrice di coppie nome-valore dell'attributo (essenzialmente, l'elemento eliminato). In caso contrario, la risposta contiene un set vuoto. Tipo: matrice di coppie nome-valore. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Le richieste di eliminazione su elementi inesistenti consumano 1 unità di capacità di scrittura. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_DeleteItem_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Controllo condizionale non riuscito. Il valore di attributo previsto non è stato trovato.  | 

## Esempi
<a name="API_DeleteItem_Examples"></a>

### Richiesta di esempio
<a name="API_DeleteItem_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteItem 
content-type: application/x-amz-json-1.0

{"TableName":"comp-table",
    "Key":
        {"HashKeyElement":{"S":"Mingus"},"RangeKeyElement":{"N":"200"}},
    "Expected":
        {"status":{"Value":{"S":"shopping"}}},
    "ReturnValues":"ALL_OLD"
}
```

### Risposta di esempio
<a name="API_DeleteItem_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: U9809LI6BBFJA5N2R0TB0P017JVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 353
Date: Tue, 12 Jul 2011 22:31:23 GMT

{"Attributes":
    {"friends":{"SS":["Dooley","Ben","Daisy"]},
    "status":{"S":"shopping"},
    "time":{"N":"200"},
    "user":{"S":"Mingus"}
    },
"ConsumedCapacityUnits":1
}
```

## Operazioni correlate
<a name="API_DeleteItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 

# DeleteTable
<a name="API_DeleteTable_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_DeleteTable_Description"></a>

L'operazione `DeleteTable` elimina una tabella e tutti i suoi elementi. Dopo una richiesta `DeleteTable`, la tabella specificata si trova nello stato `DELETING` finché DynamoDB non completa l'eliminazione. Se la tabella si trova nello stato `ACTIVE`, è possibile eliminarlo. Se una tabella si trova nello `CREATING` o `UPDATING`, allora DynamoDB restituisce un errore `ResourceInUseException`. Se la tabella specificata non esiste, DynamoDB restituisce un `ResourceNotFoundException`. Se la tabella si trova già nello stato `DELETING`, non viene restituito alcun errore. 

**Nota**  
DynamoDB potrebbe continuare ad accettare le richieste di operazioni del piano dati, ad esempio `GetItem` e`PutItem`, su una tabella nello stato `DELETING` fino al completamento dell'eliminazione della tabella.

Le tabelle sono univoche tra quelle associate all'account AWS che effettua la richiesta e alla regione AWS che riceve la richiesta (ad esempio dynamodb.us-west-2.amazonaws.com). Ogni endpoint DynamoDB è completamente indipendente. Ad esempio, se sono presenti due tabelle chiamate "MyTable", una in dynamodb.us-west-2.amazonaws.com e una in dynamodb.us-west-1.amazonaws.com, queste tabelle sono completamente indipendenti e non condividono alcun dato; l'eliminazione di una non implica l'eliminazione dell'altra.

Utilizza l'operazione [DescribeTables](API_DescribeTables_v20111205.md) per visualizzare lo stato della tabella. 

## Richieste
<a name="API_DeleteTable_RequestParameters"></a>

### Sintassi
<a name="API_DeleteTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable 
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |   Il nome della tabella da eliminare.   Tipo: string   |  Sì  | 

## Risposte
<a name="API_DeleteTable_CommonResponseElements"></a>

### Sintassi
<a name="API_DeleteTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Sun, 14 Aug 2011 22:56:22 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"DELETING"
    }
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| TableDescription  | Un container per le proprietà della tabella. | 
| CreationDateTime | La data in cui è stata creata la tabella.Tipo: numero  | 
| KeySchema  | La struttura della chiave primaria (semplice o composita) per la tabella. Una coppia nome-valore per `HashKeyElement` è obbligatoria mentre una coppia nome-valore per `RangeKeyElement` è facoltativa (richiesta solo per le chiavi primarie composite). Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement`, oppure `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | 
| ProvisionedThroughput  | Velocità effettiva per la tabella specificata, costituita dai valori per ReadCapacityUnits e WriteCapacityUnits. Consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). | 
| ProvisionedThroughput: ReadCapacityUnits |  Il numero minimo di `ReadCapacityUnits` consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni. Tipo: numero  | 
| ProvisionedThroughput: WriteCapacityUnits | Il numero minimo di `WriteCapacityUnits` consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni.Tipo: numero  | 
|  TableName  |  Il nome della tabella eliminata. Tipo: string   | 
|  TableStatus  | Lo stato corrente della tabella (DELETING). Una volta che la tabella viene eliminata, le richieste successive per la tabella restituiscono resource not found. Utilizza l'operazione [DescribeTables](API_DescribeTables_v20111205.md) per visualizzare lo stato della tabella. Tipo: string | 

## Errori speciali
<a name="API_DeleteTable_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
|  ResourceInUseException  |  La tabella è nello stato CREATING o UPDATING e non può essere eliminata.  | 

## Esempi
<a name="API_DeleteTable_Examples"></a>

### Richiesta di esempio
<a name="API_DeleteTable_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable
content-type: application/x-amz-json-1.0
content-length: 40

{"TableName":"favorite-movies-table"}
```

### Risposta di esempio
<a name="API_DeleteTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 160
Date: Sun, 14 Aug 2011 17:20:03 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"name","AttributeType":"S"}},
    "TableName":"favorite-movies-table",
    "TableStatus":"DELETING"
}
```

## Operazioni correlate
<a name="API_DeleteTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 

# DescribeTables
<a name="API_DescribeTables_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_DescribeTables_Description"></a>

Restituisce informazioni sulla tabella, inclusi lo stato corrente della tabella, lo schema della chiave primaria e la data di creazione della tabella. I risultati di DescribeTable sono a consistenza finale. Se si utilizza DescribeTable troppo presto nel processo di creazione di una tabella, DynamoDB restituisce una `ResourceNotFoundException`. Se si utilizza DescribeTable troppo presto nel processo di aggiornamento di una tabella, i nuovi valori potrebbero non essere immediatamente disponibili.

## Richieste
<a name="API_DescribeTables_RequestParameters"></a>

### Sintassi
<a name="API_DescribeTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella da descrivere.  Tipo: string   |  Sì  | 

## Risposte
<a name="API_DescribeTables_ResponseElements"></a>

### Sintassi
<a name="API_DescribeTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
Content-Length: 543


{"Table":
    {"CreationDateTime":1.309988345372E9,
    ItemCount:1,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": Date, "LastDecreaseDateTime": Date, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableSizeBytes":1,
    "TableStatus":"ACTIVE"
    }
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  Table  |  Un container per la tabella descritta. Tipo: string  | 
| CreationDateTime | La data in cui la tabella è stata creata in [formato orario epoch UNIX](http://www.epochconverter.com/). | 
|  ItemCount  |  Il numero di elementi nella tabella specificata. DynamoDB aggiorna questo valore ogni sei ore circa. Le modifiche recenti potrebbero non essere riflesse in questo valore. Tipo: numero  | 
|  KeySchema  | La struttura della chiave primaria (semplice o composita) per la tabella. Una coppia nome-valore per HashKeyElement è obbligatoria mentre una coppia nome-valore per RangeKeyElement è facoltativa (richiesta solo per le chiavi primarie composite). La dimensione massima della chiave hash è 2048 byte. La dimensione massima della chiave di intervallo è 1024 byte. Entrambi i limiti sono applicati separatamente (cioè è possibile avere una chiave hash \$1 intervallo combinato, ovvero 2048\$11024). Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). | 
| ProvisionedThroughput  | Velocità effettiva assegnata, costituita dai valori per LastIncreaseDateTime(se applicabile), LastDecreaseDateTime (se applicabile),ReadCapacityUnits e WriteCapacityUnits. Se la velocità effettiva della tabella non è mai stata aumentata o ridotta, DynamoDB non restituisce valori per tali elementi. Consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md).Tipo: Array  | 
|  TableName  |  Il nome della tabella richiesta.  Tipo: string  | 
|  TableSizeBytes  |  La dimensione totale della tabella specificata in byte. DynamoDB aggiorna questo valore ogni sei ore circa. Le modifiche recenti potrebbero non essere riflesse in questo valore. Tipo: numero  | 
|  TableStatus  | Lo stato corrente della tabella (CREATING, ACTIVE, DELETING o UPDATING). Una volta che la tabella si trova nello stato ACTIVE, è possibile aggiungere i dati.  | 

## Errori speciali
<a name="API_DescribeTables_SpecialErrors"></a>

Non esiste alcun errore specifico per questa operazione.

## Esempi
<a name="API_DescribeTables_Examples"></a>

 Gli esempi seguenti mostrano una richiesta POST HTTP e una risposta tramite l'operazione DescribeTable per una tabella denominata "comp-table". La tabella dispone di una chiave primaria composita.

### Richiesta di esempio
<a name="API_DescribeTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"users"}
```

### Risposta di esempio
<a name="API_DescribeTables_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 543

{"Table":
    {"CreationDateTime":1.309988345372E9,
    "ItemCount":23,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": 1.309988345384E9, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"users",
    "TableSizeBytes":949,
    "TableStatus":"ACTIVE"
    }
}
```

## Operazioni correlate
<a name="API_DescribeTables_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 
+  [ListTables](API_ListTables_v20111205.md) 

# GetItem
<a name="API_GetItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_GetItem_Description"></a>

L'operazione `GetItem`restituisce un set di `Attributes` per un elemento che corrisponde alla chiave primaria. Se non viene trovato un elemento corrispondente, `GetItem` non restituisce alcun dato.

Per impostazione predefinita, l'operazione `GetItem` usa le letture a consistenza finali. Se le letture a consistenza finale non sono accettabili per l'applicazione, utilizza `ConsistentRead`. Sebbene questa operazione possa richiedere più tempo di una lettura standard, restituisce sempre l'ultimo valore aggiornato. Per ulteriori informazioni, consulta [Coerenza di lettura di DynamoDB](HowItWorks.ReadConsistency.md).

## Richieste
<a name="API_GetItem_RequestParameters"></a>

### Sintassi
<a name="API_GetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
 	"Key": 
		{"HashKeyElement": {"S":"AttributeValue1"},
		"RangeKeyElement": {"N":"AttributeValue2"} 
	},
	"AttributesToGet":["AttributeName3","AttributeName4"],
	"ConsistentRead":Boolean
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che contiene gli elementi richiesti.  Tipo: string  |  Sì  | 
|  Key  | I valori della chiave primaria che definiscono l'elemento. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement` sul suo valore e `RangeKeyElement` sul suo valore. | Sì | 
| AttributesToGet  | Matrice di nomi di attributi. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato.Tipo: Array | No | 
| ConsistentRead  | Se impostato su `true`, viene emessa una lettura consistente, altrimenti viene utilizzata la consistenza finale.Tipo: Booleano | No | 

## Risposte
<a name="API_GetItem_ResponseElements"></a>

### Sintassi
<a name="API_GetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 144

{"Item":{
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName4":{"N":"AttributeValue4"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits": 0.5
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  Item  | Contiene gli attributi richiesti.Tipo: mappa di coppie nome-valore dell'attributo. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Le richieste di elementi inesistenti consumano le unità di capacità di lettura minima in base al tipo di lettura. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_GetItem_SpecialErrors"></a>

Nessun errore specifico per questa operazione.

## Esempi
<a name="API_GetItem_Examples"></a>

 Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

### Richiesta di esempio
<a name="API_GetItem_Examples_Request"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"comptable",
	"Key":
		{"HashKeyElement":{"S":"Julie"},
		"RangeKeyElement":{"N":"1307654345"}},
	"AttributesToGet":["status","friends"],
	"ConsistentRead":true
}
```

### Risposta di esempio
<a name="API_GetItem_Examples_Response"></a>

Si noti che il valore di ConsumedCapacityUnits è 1, poiché il parametro facoltativo `ConsistentRead` è impostato su `true`. Se `ConsistentRead` è impostato su `false` (o se non è specificato) per la stessa richiesta, la risposta è a consistenza finale e il valore ConsumedCapacityUnits sarebbe 0,5.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 72

{"Item":
	{"friends":{"SS":["Lynda, Aaron"]},
	"status":{"S":"online"}
	},
"ConsumedCapacityUnits": 1
}
```

# ListTables
<a name="API_ListTables_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_ListTables_Description"></a>

Restituisce una matrice di tutte le tabelle associate all'account e all'endpoint correnti.

Ogni endpoint DynamoDB è completamente indipendente. Ad esempio, se sono presenti due tabelle chiamate "MyTable", una in dynamodb.us-west-2.amazonaws.com e una in dynamodb.us-east-1.amazonaws.com, queste tabelle sono completamente indipendenti e non condividono alcun dato. L'operazione ListTables restituisce tutti i nomi di tabella associati all'account che effettua la richiesta, per l'endpoint che riceve la richiesta.

## Richieste
<a name="API_ListTables_RequestParameters"></a>

### Sintassi
<a name="API_ListTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"Table1","Limit":3}
```

Per impostazione predefinita, l'operazione ListTables richiede tutti i nomi delle tabelle associati all'account che effettua la richiesta per l'endpoint che riceve la richiesta.


****  

|  Nome  |  Descrizione  | Richiesto | 
| --- | --- | --- | 
|  Limit  |  Un numero massimo di nomi di tabella da restituire.  Tipo: integer  | No | 
| ExclusiveStartTableName  | Il nome della tabella che inizia l'elenco. Se hai già eseguito un'operazione ListTables e hai ricevuto un valore `LastEvaluatedTableName` nella risposta, utilizza questo valore qui per continuare l'elenco. Tipo: string | No | 

## Risposte
<a name="API_ListTables_ResponseElements"></a>

### Sintassi
<a name="API_ListTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"TableNames":["Table1","Table2","Table3"], "LastEvaluatedTableName":"Table3"}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  TableNames  |  I nomi delle tabelle associate al conto corrente nell'endpoint corrente.  Tipo: Array  | 
| LastEvaluatedTableName  | Il nome dell'ultima tabella dell'elenco corrente, solo se alcune tabelle per l'account e l'endpoint non sono state restituite. Questo valore non esiste in una risposta se sono già stati restituiti tutti i nomi delle tabelle. Usare questo valore come `ExclusiveStartTableName` in una nuova richiesta per continuare l'elenco fino a quando non vengono restituiti tutti i nomi delle tabelle.  Tipo: string  | 

## Errori speciali
<a name="API_ListTables_SpecialErrors"></a>

Non esiste alcun errore specifico per questa operazione.

## Esempi
<a name="API_ListTables_Examples"></a>

Gli esempi seguenti mostrano una richiesta HTTP POST e una risposta tramite l'operazione ListTables.

### Richiesta di esempio
<a name="API_ListTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"comp2","Limit":3}
```

### Risposta di esempio
<a name="API_ListTables_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"LastEvaluatedTableName":"comp5","TableNames":["comp3","comp4","comp5"]}
```

## Operazioni correlate
<a name="API_ListTables_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 

# PutItem
<a name="API_PutItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_PutItem_Description"></a>

Crea un nuovo elemento o sostituisce un vecchio elemento con un nuovo elemento (includendo tutti gli attributi). Se nella tabella specificata esiste già un elemento con la stessa chiave primaria, il nuovo elemento sostituisce completamente l'elemento esistente. È possibile eseguire un put condizionale (inserire un nuovo elemento se non ne esiste uno con la chiave primaria specificata) o sostituire un elemento esistente se dispone di determinati valori di attributo. 

I valori degli attributi non possono essere nulli; gli attributi stringa e di tipo binario devono avere lunghezze maggiori di zero e gli attributi di tipo impostato non devono essere vuoti. Le richieste con valori vuoti verranno rifiutate con una eccezione `ValidationException`.

**Nota**  
Per essere certi che un nuovo elemento non sostituisca un elemento esistente, utilizza un'operazione put condizionale con `Exists` impostato su `false`per l'attributo o gli attributi della chiave primaria.

Per ulteriori informazioni sull'utilizzo di `PutItem`, consultare [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

## Richieste
<a name="API_PutItem_RequestParameters"></a>

### Sintassi
<a name="API_PutItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.PutItem
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Item":{
        "AttributeName1":{"S":"AttributeValue1"},
        "AttributeName2":{"N":"AttributeValue2"},
        "AttributeName5":{"B":"dmFsdWU="}
    },
    "Expected":{"AttributeName3":{"Value": {"S":"AttributeValue"}, "Exists":Boolean}},
    "ReturnValues":"ReturnValuesConstant"}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che deve contenere l'elemento da eliminare. Tipo: string  |  Sì  | 
|  Item  | Una mappa degli attributi per l'elemento e deve includere i valori della chiave primaria che definiscono l'elemento. È possibile fornire altre coppie nome-valore dell'attributo per l'elemento. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa dei nomi degli attributi ai valori degli attributi. | Sì | 
| Expected  | Designa un attributo per un put condizionale. Il parametro `Expected` consente di fornire un nome di attributo e se DynamoDB deve controllare o meno se il valore dell'attributo esiste già o se esiste e ha un valore particolare prima di modificarlo.Tipo: mappa dei nomi di un attributo a un valore di attributo e se esiste. | No | 
| Expected:AttributeName  | Il nome dell'attributo per il put condizionale.Tipo: string | No | 
| Expected:AttributeName: ExpectedAttributeValue | Utilizza questo parametro per specificare se esiste già un valore per la coppia nome-valore dell'attributo. La seguente notazione JSON sostituisce l'elemento se l'attributo "Colore" non esiste già per quell'elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La seguente notazione JSON controlla se l'attributo con nome "Colore" ha un valore esistente pari a "Giallo" prima di sostituire l'elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true,{"Value":{"S":"Yellow"}}}</pre>Per impostazione predefinita, se si utilizza il parametro `Expected` e si fornisce un `Value`, DynamoDB presuppone che l'attributo esista e abbia un valore corrente da sostituire. Quindi non è necessario specificare`{"Exists":true}` perché è implicito. È possibile abbreviare la richiesta in:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Se si specifica `{"Exists":true}` senza un valore di attributo da controllare, DynamoDB restituisce un errore.  | No | 
| ReturnValues  | Utilizza questo parametro se desideri ottenere le coppie nome-valore dell'attributo prima che vengano aggiornate con la richiesta `PutItem`. I valori possibili dei parametri sono `NONE` (predefinito) o `ALL_OLD`. Se è stato specificato `ALL_OLD` e `PutItem` ha sovrascritto una coppia nome-valore dell'attributo, viene restituito il contenuto del vecchio elemento. Se questo parametro non viene fornito o è `NONE`, non viene restituito nulla.Tipo: string | No | 

## Risposte
<a name="API_PutItem_CommonResponseElements"></a>

### Sintassi
<a name="API_PutItem_CommonResponseElements.syntax"></a>

Nella sintassi di esempio seguente si presuppone che la richiesta abbia specificato un parametro `ReturnValues` di `ALL_OLD`; in caso contrario, la risposta ha solo l'elemento `ConsumedCapacityUnits`.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 85

{"Attributes":
	{"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName2":{"SS":"AttributeValue2"},
	"AttributeName1":{"SS":"AttributeValue1"},
	},
"ConsumedCapacityUnits":1
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  Attributes  | I valori degli attributi prima dell'operazione put, ma solo se la proprietà `ReturnValues` viene specificata come `ALL_OLD` nella richiesta.Tipo: mappa di coppie nome-valore dell'attributo. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_PutItem_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Controllo condizionale non riuscito. Il valore di attributo previsto non è stato trovato.  | 
| ResourceNotFoundException  | L'elemento o l'attributo specificati non sono stati trovati. | 

## Esempi
<a name="API_PutItem_Examples"></a>

Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

### Richiesta di esempio
<a name="API_PutItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.PutItem 
content-type: application/x-amz-json-1.0

{"TableName":"comp5",
	"Item":
		{"time":{"N":"300"},
		"feeling":{"S":"not surprised"},
		"user":{"S":"Riley"}
		},
	"Expected":
		{"feeling":{"Value":{"S":"surprised"},"Exists":true}}
	"ReturnValues":"ALL_OLD"
}
```

### Risposta di esempio
<a name="API_PutItem_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8952fa74-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 84

{"Attributes":
	{"feeling":{"S":"surprised"},
	"time":{"N":"300"},
	"user":{"S":"Riley"}},
"ConsumedCapacityUnits":1
}
```

## Operazioni correlate
<a name="API_PutItem_Related_Actions"></a>
+  [UpdateItem](API_UpdateItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 
+  [GetItem](API_GetItem_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# Query
<a name="API_Query_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_Query_Description"></a>

Un'operazione `Query` ottiene i valori di uno o più elementi e i relativi attributi in base alla chiave primaria (`Query` è disponibile solo per le tabelle di chiavi primarie hash e di intervallo). È necessario fornire un `HashKeyValue` specifico ed è possibile restringere l'ambito della query utilizzando gli operatori di confronto sul `RangeKeyValue` della chiave primaria. Utilizza il parametro `ScanIndexForward` per ottenere risultati in ordine in avanti o all'indietro in base alla chiave di intervallo. 

Le query che non restituiscono risultati consumano il numero minimo di unità di capacità di lettura in base al tipo di lettura.

**Nota**  
Se il numero totale di elementi che soddisfano i parametri della query supera il limite di 1 MB, la query si interrompe e i risultati vengono restituiti all'utente con un `LastEvaluatedKey` per continuare la query in un'operazione successiva. A differenza di un'operazione Scan, un'operazione Query non restituisce mai un set di risultati vuoto *e* un `LastEvaluatedKey`. `LastEvaluatedKey` viene fornito solo se i risultati superano 1 MB o se è stato utilizzato il parametro `Limit`.   
Il risultato può essere impostato per una lettura consistente utilizzando il parametro `ConsistentRead`.

## Richieste
<a name="API_Query_RequestParameters"></a>

### Sintassi
<a name="API_Query_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
	"Limit":2,
	"ConsistentRead":true,
	"HashKeyValue":{"S":"AttributeValue1":},
	"RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"}
	"ScanIndexForward":true,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"AttributeName1"},
		"RangeKeyElement":{"N":"AttributeName2"}
	},
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che contiene gli elementi richiesti.  Tipo: string  |  Sì  | 
| AttributesToGet  | Matrice di nomi di attributi. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato.Tipo: Array | No | 
| Limit  | Il numero massimo di elementi da restituire (non necessariamente il numero di elementi corrispondenti). Se DynamoDB elabora il numero di elementi fino al limite durante la query sulla tabella, interrompe la query e restituisce i valori corrispondenti fino a quel punto e un `LastEvaluatedKey` da applicare in un'operazione successiva per continuare la query. Inoltre, se la dimensione del set di risultati supera 1 MB prima che DynamoDB raggiunga questo limite, interrompe la query e restituisce i valori corrispondenti e un `LastEvaluatedKey` da applicare in un'operazione successiva per continuare la query.Tipo: numero | No | 
| ConsistentRead  | Se impostato su `true`, viene emessa una lettura consistente, altrimenti viene utilizzata la consistenza finale.Tipo: Booleano | No | 
| Count  | Se impostato su `true`, DynamoDB restituisce un numero totale di elementi che corrispondono ai parametri della query e non un elenco degli elementi corrispondenti e dei relativi attributi. È possibile applicare il parametro `Limit` alle query di solo conteggio.  Non impostare `Count` su `true` mentre si fornisce un elenco di `AttributesToGet`; in caso contrario, DynamoDB restituirà un errore di convalida. Per ulteriori informazioni, consulta [Conteggio degli elementi nei risultati](Query.Other.md#Query.Count).Tipo: Booleano | No | 
| HashKeyValue  | Valore attributo del componente hash della chiave primaria composita.Tipo: String, Number o Binary | Sì | 
| RangeKeyCondition  | Un container per i valori degli attributi e gli operatori di confronto da utilizzare per la query. Una richiesta di query non richiede un `RangeKeyCondition`. Se si fornisce solo `HashKeyValue`, DynamoDB restituisce tutti gli elementi con il valore dell'elemento della chiave hash specificato.Tipo: Map | No | 
| RangeKeyCondition:​ AttributeValueList | I valori degli attributi da valutare per i parametri della query. `AttributeValueList` contiene un valore di attributo, a meno che non sia specificato un confronto `BETWEEN`. Per il confronto `BETWEEN`, `AttributeValueList`contiene due valori di attributo. Tipo: una mappa di `AttributeValue` ad un `ComparisonOperator`.  | No | 
| RangeKeyCondition:​ ComparisonOperator |  I criteri per valutare gli attributi forniti, come uguale, maggiore di, ecc. Di seguito sono riportati operatori di confronto validi per un'operazione Query.  I confronti di valori String per maggiore di, uguale o minore di si basano sui valori del codice di caratteri ASCII. Ad esempio, `a` è maggiore di `A` e `aa` è maggiore di `B`. Per l'elenco dei valori di codifica, vedi [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).  Per Binary, DynamoDB tratta ciascun byte dei dati binari come non firmato quando confronta i valori binari, ad esempio quando valuta le espressioni di query.   Tipo: String o Binary  | No | 
|   | `EQ`: uguale. Per `EQ`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non è uguale a `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE`: minore o uguale a. Per `LE`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT`: minore di. Per `LT`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE`: maggiore o uguale a. Per `GE`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT`: maggiore di. Per `GT`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `BEGINS_WITH`: controlla la presenza di un prefisso. Per `BEGINS_WITH`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String o Binary (non Number o Set). L'attributo di destinazione del confronto deve essere String o Binary (non Number o un set). |   | 
|   | `BETWEEN`: maggiore di o uguale a primo valore e minore di o uguale a secondo valore. Per `BETWEEN`, `AttributeValueList` deve contenere due elementi `AttributeValue` dello stesso tipo, String, Number o Binary (non un set). Un attributo di destinazione corrisponde se il valore di destinazione è maggiore o uguale al primo elemento e minore o uguale al secondo elemento. Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non si confronta con `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
| ScanIndexForward | Specifica l'attraversamento ascendente o discendente dell'indice. DynamoDB restituisce risultati che riflettono l'ordine richiesto determinato dalla chiave di intervallo: se il tipo di dati è Number, i risultati vengono restituiti in ordine numerico. In caso contrario, l'attraversamento si basa sui valori del codice di caratteri ASCII.Tipo: BooleanoL'impostazione predefinita è `true` (ascendente). | No | 
| ExclusiveStartKey | La chiave primaria dell'elemento da cui continuare una query precedente. Una query precedente potrebbe fornire questo valore come `LastEvaluatedKey` se l'operazione di query è stata interrotta prima di completare la query a causa della dimensione del set di risultati o del parametro `Limit`. `LastEvaluatedKey` può essere re-inviato in una nuova richiesta di query per continuare l'operazione da quel punto.Tipo: `HashKeyElement`, `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | No | 

## Risposte
<a name="API_Query_ResponseElements"></a>

### Sintassi
<a name="API_Query_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"N":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue3"},
    "AttributeName2":{"N":"AttributeValue4"},
    "AttributeName3":{"S":"AttributeValue3"},
    "AttributeName5":{"B":"dmFsdWU="}
}],
    "LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"},
                        "RangeKeyElement":{"AttributeValue4":"N"}
     },
     "ConsumedCapacityUnits":1
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| Items  | Attributi dell'elemento che soddisfano i parametri della query.Tipo: mappa di nomi degli attributi e dei relativi tipi di dati e valori. | 
| Count  |  Il numero di elementi nella risposta. Per ulteriori informazioni, consulta [Conteggio degli elementi nei risultati](Query.Other.md#Query.Count). Tipo: numero  | 
| LastEvaluatedKey | La chiave primaria dell'elemento per cui l'operazione di query è stata interrotta, incluso il set di risultati precedente. Utilizza questo valore per avviare una nuova operazione escludendo questo valore nella nuova richiesta.`LastEvaluatedKey` è `null` quando l'intero set di risultati della query è completo (cioè l'operazione ha elaborato l'ultima pagina). Tipo: `HashKeyElement` o `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_Query_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
| ResourceNotFoundException  | La tabella specificata non è stata trovata. | 

## Esempi
<a name="API_Query_Examples"></a>

 Per gli esempi di utilizzo dell'SDK AWS, consulta [Esecuzione di query in DynamoDB](Query.md).

### Richiesta di esempio
<a name="API_Query_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"John"},
	"ScanIndexForward":false,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"John"},
		"RangeKeyElement":{"S":"The Matrix"}
	}
}
```

### Risposta di esempio
<a name="API_Query_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The End"}
	},{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The Beatles"}
	}],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}},
"ConsumedCapacityUnits":1
}
```

### Richiesta di esempio
<a name="API_Query_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query 
content-type: application/x-amz-json-1.0
 
{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"Airplane"},
	"RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"},
	"ScanIndexForward":false}
```

### Risposta di esempio
<a name="API_Query_Examples_Response2"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a
content-type: application/x-amz-json-1.0
content-length: 119 
 
{"Count":1,"Items":[{
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"},
	"year":{"N":"1980"}
	}],
"ConsumedCapacityUnits":1
}
```

## Operazioni correlate
<a name="API_Query_Related_Actions"></a>
+  [Scan](API_Scan_v20111205.md) 

# Scan
<a name="API_Scan_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_Scan_Description"></a>

L'operazione `Scan` restituisce uno o più elementi e i relativi attributi eseguendo una scansione completa di una tabella. Fornire un `ScanFilter` per ottenere risultati più specifici. 

**Nota**  
Se il numero totale di elementi sottoposti a scansione supera il limite di 1 MB, la scansione viene interrotta e i risultati vengono restituiti all'utente con un `LastEvaluatedKey` per continuare la scansione in un'operazione successiva. I risultati includono anche il numero di elementi che superano il limite. Una scansione può comportare l'assenza di dati di tabella che soddisfano i criteri di filtro.   
Il set di risultati è a consistenza finale. 

## Richieste
<a name="API_Scan_RequestParameters"></a>

### Sintassi
<a name="API_Scan_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Limit": 2,
    "ScanFilter":{
        "AttributeName1":{"AttributeValueList":[{"S":"AttributeValue"}],"ComparisonOperator":"EQ"}
    },
    "ExclusiveStartKey":{
        "HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"}
    },
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che contiene gli elementi richiesti. Tipo: string  |  Sì  | 
| AttributesToGet  | Matrice di nomi di attributi. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato.Tipo: Array | No | 
| Limit  | Il numero massimo di item da valutare (non necessariamente il numero di item corrispondenti). Se DynamoDB elabora il numero di elementi fino al limite durante l'elaborazione dei risultati, si arresta e restituisce i valori corrispondenti fino a quel punto e un `LastEvaluatedKey` da applicare in un'operazione successiva per continuare a recuperare gli elementi. Inoltre, se la dimensione del set di dati sottoposti a scansione supera 1 MB prima che DynamoDB raggiunga questo limite, interrompe la scansione e restituisce i valori corrispondenti fino al limite e un `LastEvaluatedKey` da applicare in un'operazione successiva per continuare la scansione.Tipo: numero | No | 
| Count  | Se impostato su `true`, DynamoDB restituisce un numero totale di elementi per l'operazione di scansione, anche se l'operazione non contiene elementi corrispondenti per il filtro assegnato. È possibile applicare il parametro Limit alle scansioni di solo conteggio.  Non impostare `Count` su `true` mentre si fornisce un elenco di `AttributesToGet`; in caso contrario, DynamoDB restituirà un errore di convalida. Per ulteriori informazioni, consulta [Conteggio degli elementi nei risultati](Scan.md#Scan.Count).Tipo: Booleano | No | 
| ScanFilter  | Valuta i risultati della scansione e restituisce solo i valori desiderati. Le condizioni multiple sono trattate come operazioni "AND": per essere incluse nei risultati tutte le condizioni devono essere soddisfatte. Tipo: una mappa dei nomi degli attributi ai valori con operatori di confronto. | No | 
| ScanFilter:AttributeValueList | I valori e le condizioni per valutare i risultati della scansione per il filtro.Tipo: una mappa di `AttributeValue` ad un `Condition`. | No | 
| ScanFilter:​ ComparisonOperator | I criteri per valutare gli attributi forniti, come uguale, maggiore di, ecc. Di seguito sono riportati operatori di confronto validi per un'operazione di scansione. I confronti di valori String per maggiore di, uguale o minore di si basano sui valori del codice di caratteri ASCII. Ad esempio, `a` è maggiore di `A` e `aa` è maggiore di `B`. Per l'elenco dei valori di codifica, vedi [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). Per Binary, DynamoDB tratta ciascun byte dei dati binari come non firmato quando confronta i valori binari, ad esempio quando valuta le espressioni di query.   Tipo: String o Binary  | No | 
|   | `EQ`: uguale. Per `EQ`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non è uguale a `{"NS":["6", "2", "1"]}`. |   | 
|   | `NE`: non uguale. Per `NE`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non è uguale a `{"NS":["6", "2", "1"]}`. |   | 
|   | `LE`: minore o uguale a. Per `LE`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `LT`: minore di. Per `LT`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GE`: maggiore o uguale a. Per `GE`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `GT`: maggiore di. Per `GT`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non è uguale a `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
|   | `NOT_NULL`: l'attributo esiste.  |   | 
|   | `NULL`: l'attributo non esiste.  |   | 
|   | `CONTAINS`: controlla la presenza di una sottosequenza o di un valore in un set. Per `CONTAINS`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se l'attributo di destinazione del confronto è String, l'operazione verifica la presenza di una corrispondenza di sottostringa. Se l'attributo di destinazione del confronto è Binary, l'operazione cerca una sottosequenza della destinazione che corrisponde all'input. Se l'attributo di destinazione del confronto è un set ("SS", "NS" o "BS"), l'operazione verifica la presenza di un membro del set (non come sottostringa). |   | 
|   | `NOT_CONTAINS`: controlla l'assenza di una sottosequenza o l'assenza di un valore in un set. Per `NOT_CONTAINS`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String, Number o Binary (non un set). Se l'attributo di destinazione del confronto è String, l'operazione verifica l'assenza di una corrispondenza di sottostringa. Se l'attributo di destinazione del confronto è Binary, l'operazione verifica l'assenza di una sottosequenza della destinazione che corrisponde all'input. Se l'attributo di destinazione del confronto è un set ("SS", "NS" o "BS"), l'operazione verifica l'assenza di un membro del set (non come sottostringa). |   | 
|   | `BEGINS_WITH`: controlla la presenza di un prefisso. Per `BEGINS_WITH`, `AttributeValueList` può contenere solo un `AttributeValue` di tipo String o Binary (non Number o Set). L'attributo di destinazione del confronto deve essere String o Binary (non Number o un set). |   | 
|   | `IN`: controlla le corrispondenze esatte. Per `IN`, `AttributeValueList` può contenere più di un `AttributeValue` di tipo String, Number o Binary (non un set). Per corrispondere, l'attributo di destinazione del confronto deve essere dello stesso tipo e valore esatto. Una valore stringa non corrisponde mai a un set di stringhe. |   | 
|   | `BETWEEN`: maggiore di o uguale a primo valore e minore di o uguale a secondo valore. Per `BETWEEN`, `AttributeValueList` deve contenere due elementi `AttributeValue` dello stesso tipo, String, Number o Binary (non un set). Un attributo di destinazione corrisponde se il valore di destinazione è maggiore o uguale al primo elemento e minore o uguale al secondo elemento. Se un elemento contiene un `AttributeValue` di un tipo diverso da quello specificato nella richiesta, il valore non corrisponde. Ad esempio, `{"S":"6"}` non si confronta con `{"N":"6"}`. Inoltre, `{"N":"6"}` non si confronta con `{"NS":["6", "2", "1"]}`. |   | 
| ExclusiveStartKey | La chiave primaria dell'elemento da cui continuare una scansione precedente. Una scansione precedente potrebbe fornire questo valore se l'operazione di scansione è stata interrotta prima della scansione dell'intera tabella a causa della dimensione del set di risultati o del parametro `Limit`. `LastEvaluatedKey` può essere re-inviato in una nuova richiesta di scansione per continuare l'operazione da quel punto.Tipo: `HashKeyElement` o `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | No | 

## Risposte
<a name="API_Scan_ResponseElements"></a>

### Sintassi
<a name="API_Scan_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 229 

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"S":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue4"},
    "AttributeName2":{"S":"AttributeValue5"},
    "AttributeName3":{"S":"AttributeValue6"},
    "AttributeName5":{"B":"dmFsdWU="}
    }],
    "LastEvaluatedKey":
        {"HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"},
    "ConsumedCapacityUnits":1,
    "ScannedCount":2}
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| Items  | Container per gli attributi che soddisfano i parametri dell'operazione.Tipo: mappa di nomi degli attributi e dei relativi tipi di dati e valori. | 
| Count  |  Il numero di elementi nella risposta. Per ulteriori informazioni, consulta [Conteggio degli elementi nei risultati](Scan.md#Scan.Count). Tipo: numero  | 
| ScannedCount  | Il numero di elementi nella scansione completa prima dell'applicazione di eventuali filtri. Un valore `ScannedCount` elevato con pochi o nessun risultato `Count` indica un'operazione Scan inefficiente. Per ulteriori informazioni, consulta [Conteggio degli elementi nei risultati](Scan.md#Scan.Count).Tipo: numero | 
| LastEvaluatedKey | La chiave primaria dell'elemento su cui si è interrotta l'operazione di scansione. Fornire questo valore in una operazione di scansione successiva per continuare l'operazione da quel punto.`LastEvaluatedKey` è `null` quando l'intero set di risultati della scansione è completo (cioè l'operazione ha elaborato l'ultima pagina).  | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_Scan_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
| ResourceNotFoundException  | La tabella specificata non è stata trovata. | 

## Esempi
<a name="API_Scan_Examples"></a>

Per gli esempi di utilizzo dell'SDK AWS, consulta [Scansione di tabelle in DynamoDB](Scan.md).

### Richiesta di esempio
<a name="API_Scan_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable","ScanFilter":{}}
```

### Risposta di esempio
<a name="API_Scan_Examples_Response"></a>

```
HTTP/1.1 200
x-amzn-RequestId: 4e8a5fa9-71e7-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0 
content-length: 465 

{"Count":4,"Items":[{
	"date":{"S":"1980"},
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"}
	},{
	"date":{"S":"1999"},
	"fans":{"SS":["Ziggy","Laura","Dean"]},
	"name":{"S":"Matrix"},
	"rating":{"S":"*****"}
	},{
	"date":{"S":"1976"},
	"fans":{"SS":["Riley"]},"
	name":{"S":"The Shaggy D.A."},
	"rating":{"S":"**"}
	},{
	"date":{"S":"1985"},
	"fans":{"SS":["Fox","Lloyd"]},
	"name":{"S":"Back To The Future"},
	"rating":{"S":"****"}
	}],
    "ConsumedCapacityUnits":0.5
	"ScannedCount":4}
```

### Richiesta di esempio
<a name="API_Scan_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0
content-length: 125 

{"TableName":"comp5",
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	}
}
```

### Risposta di esempio
<a name="API_Scan_Examples_Response2"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 262
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":2,
	"Items":[
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Casey"}},
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Fredy"}
		}],
"ConsumedCapacityUnits":0.5
"ScannedCount":4
}
```

### Richiesta di esempio
<a name="API_Scan_Examples_Request3"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan
content-type: application/x-amz-json-1.0

{"TableName":"comp5",
	"Limit":2,
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	},
	"ExclusiveStartKey":
		{"HashKeyElement":{"S":"Fredy"},"RangeKeyElement":{"N":"2000"}}
}
```

### Risposta di esempio
<a name="API_Scan_Examples_Response3"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 232
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":1,
	"Items":[
		{"friends":{"SS":["Jane","James","John"]},
		"status":{"S":"exercising"},
		"time":{"N":"2200"},
		"user":{"S":"Roger"}}
	],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"250"}},
"ConsumedCapacityUnits":0.5
"ScannedCount":2
}
```

## Operazioni correlate
<a name="API_Scan_Related_Actions"></a>
+  [Query](API_Query_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# UpdateItem
<a name="API_UpdateItem_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_UpdateItem_Description"></a>

Modifica gli attributi di un elemento esistente. È possibile eseguire un aggiornamento condizionale (inserire una nuova coppia nome-valore attributo se non esiste o sostituire una coppia nome-valore esistente se ha determinati valori di attributo previsti).

**Nota**  
Non è possibile aggiornare gli attributi della chiave primaria utilizzando UpdateItem. Eliminare invece l'elemento e utilizzare PutItem per creare un nuovo elemento con nuovi attributi.

L'operazione UpdateItem include un parametro `Action`che definisce come eseguire l'aggiornamento. È possibile inserire, eliminare o aggiungere valori di attributo. 

I valori degli attributi non possono essere nulli; gli attributi stringa e di tipo binario devono avere lunghezze maggiori di zero e gli attributi di tipo impostato non devono essere vuoti. Le richieste con valori vuoti verranno rifiutate con una eccezione `ValidationException`.

Se un elemento esistente ha una chiave primaria specificata: 
+ **PUT**: aggiunge l'attributo specificato. Se l'attributo esiste, viene sostituito dal nuovo valore. 
+ **DELETE**: se non viene specificato alcun valore, rimuove l'attributo e il relativo valore. Se viene specificato un set di valori, i valori nel set specificato vengono rimossi dal set precedente. Quindi, se il valore dell'attributo contiene [a, b, c] e l'azione di eliminazione contiene [a, c], il valore dell'attributo finale sarà [b]. Il tipo di valore specificato deve corrispondere al tipo di valore esistente. La specifica di un set vuoto non è consentita.
+ **ADD**: utilizzare l'azione di aggiunta solo per i numeri o se l'attributo di destinazione è un set (inclusi i set di stringhe). ADD non funziona se l'attributo di destinazione è un singolo valore stringa o un valore binario scalare. Il valore specificato viene aggiunto a un valore numerico (incrementando o diminuendo il valore numerico esistente) o aggiunto come valore aggiuntivo in un set di stringhe. Se viene specificato un set di valori, i valori vengono aggiunti al set esistente. Ad esempio, se il set originale è [1,2] e il valore fornito è [3], dopo l'operazione di aggiunta l'insieme sarà [1,2,3] e non [4,5]. Se viene specificata un'operazione ADD per un attributo set e il tipo di attributo specificato non corrisponde al tipo di set esistente, si verifica un errore. 

  Se si utilizza ADD per un attributo che non esiste, l'attributo e i relativi valori verranno aggiunti all'elemento.

Se nessun elemento corrisponde alla chiave primaria specificata: 
+ **PUT**: crea un nuovo elemento con la chiave primaria specificata. Quindi aggiunge l'attributo specificato. 
+ **DELETE**: non succede nulla. 
+ **ADD**: viene creato un elemento con la chiave primaria e il numero (o insieme di numeri) forniti per il valore dell'attributo. Non valido per un tipo stringa o binario. 

**Nota**  
Se si utilizza `ADD` per aumentare o diminuire un valore numerico per un elemento che non esiste prima dell'aggiornamento, DynamoDB utilizzerà `0` come valore iniziale. Inoltre, se si aggiorna un elemento tramite `ADD` per aumentare o diminuire un valore numerico per un attributo che non esiste prima dell'aggiornamento, DynamoDB utilizzerà `0` come valore iniziale. Ad esempio, si supponga di utilizzare `ADD` per aggiungere `+3` a un attributo che non esisteva prima dell'aggiornamento. DynamoDB utilizzerà `0` come valore iniziale e il valore dopo l'aggiornamento sarà `3`. 

Per ulteriori informazioni sull'utilizzo di questa operazione, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md). 

## Richieste
<a name="API_UpdateItem_RequestParameters"></a>

### Sintassi
<a name="API_UpdateItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Key":
        {"HashKeyElement":{"S":"AttributeValue1"},
        "RangeKeyElement":{"N":"AttributeValue2"}},
    "AttributeUpdates":{"AttributeName3":{"Value":{"S":"AttributeValue3_New"},"Action":"PUT"}},
    "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3_Current"}}},
    "ReturnValues":"ReturnValuesConstant"
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella che contiene l'elemento da aggiornare.  Tipo: string  |  Sì  | 
|  Key  | La chiave primaria che definisce l'elemento. Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement` sul suo valore e `RangeKeyElement` sul suo valore. | Sì | 
| AttributeUpdates | Mappa del nome dell'attributo al nuovo valore e operazione per l'aggiornamento. I nomi degli attributi specificano gli attributi da modificare e non possono contenere attributi di chiave primaria.Tipo: mappa del nome dell'attributo, del valore e dell'operazione per l'aggiornamento dell'attributo. |  | 
| AttributeUpdates:Action | Specifica come eseguire l'aggiornamento. Valori possibili `PUT` (predefinito), `ADD` o `DELETE`. La sintassi è spiegata nella descrizione di UpdateItem.Tipo: stringImpostazione predefinita: `PUT` | No | 
| Expected  | Designa un attributo per un aggiornamento condizionale. Il parametro `Expected` consente di fornire un nome di attributo e se DynamoDB deve controllare o meno se il valore dell'attributo esiste già o se esiste e ha un valore particolare prima di modificarlo.Tipo: mappa dei nomi degli attributi. | No | 
| Expected:AttributeName  | Il nome dell'attributo per il put condizionale.Tipo: string | No | 
| Expected:AttributeName: ExpectedAttributeValue | Utilizza questo parametro per specificare se esiste già un valore per la coppia nome-valore dell'attributo. La seguente notazione JSON aggiorna l'elemento se l'attributo "Colore" non esiste già per quell'elemento:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>La seguente notazione JSON controlla se l'attributo con nome "Colore" ha un valore esistente pari a "Giallo" prima di aggiornare l'elemento: <pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>Per impostazione predefinita, se si utilizza il parametro `Expected` e si fornisce un `Value`, DynamoDB presuppone che l'attributo esista e abbia un valore corrente da sostituire. Quindi non è necessario specificare`{"Exists":true}` perché è implicito. È possibile abbreviare la richiesta in:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Se si specifica `{"Exists":true}` senza un valore di attributo da controllare, DynamoDB restituisce un errore.  | No | 
| ReturnValues  | Utilizza questo parametro se desideri ottenere le coppie nome-valore dell'attributo prima che vengano aggiornate con la richiesta `UpdateItem`. I valori dei parametri possibili sono `NONE` (predefinito) o`ALL_OLD`, `UPDATED_OLD`, `ALL_NEW` o `UPDATED_NEW`. Se è stato specificato `ALL_OLD` e `UpdateItem` ha sovrascritto una coppia nome-valore dell'attributo, viene restituito il contenuto del vecchio elemento. Se questo parametro non viene fornito o è `NONE`, non viene restituito nulla. Se viene specificato `ALL_NEW`, vengono restituiti tutti gli attributi della nuova versione dell'elemento. Se viene specificato `UPDATED_NEW`, vengono restituite tutte le versioni dei soli attributi aggiornati.Tipo: string | No | 

## Risposte
<a name="API_UpdateItem_CommonResponseElements"></a>

### Sintassi
<a name="API_UpdateItem_CommonResponseElements.syntax"></a>

Nella sintassi di esempio seguente si presuppone che la richiesta abbia specificato un parametro `ReturnValues` di `ALL_OLD`; in caso contrario, la risposta ha solo l'elemento `ConsumedCapacityUnits`.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 140

{"Attributes":{
	"AttributeName1":{"S":"AttributeValue1"},
	"AttributeName2":{"S":"AttributeValue2"},
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits":1
}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
|  Attributes  | Una mappa di coppie nome-valore attributo, ma solo se il parametro `ReturnValues` viene specificato come qualcosa di diverso da `NONE` nella richiesta.Tipo: mappa di coppie nome-valore dell'attributo. | 
| ConsumedCapacityUnits | Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md). Tipo: numero | 

## Errori speciali
<a name="API_UpdateItem_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Controllo condizionale non riuscito. Il valore dell'attributo ("\$1 name \$1") è ("\$1 value \$1") ma era previsto ("\$1 expValue \$1")  | 
| ResourceNotFoundExceptions  | L'elemento o l'attributo specificati non sono stati trovati. | 

## Esempi
<a name="API_UpdateItem_Examples"></a>

Per gli esempi di utilizzo dell'SDK AWS, consulta [Utilizzo di elementi e attributi in DynamoDB](WorkingWithItems.md).

### Richiesta di esempio
<a name="API_UpdateItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0 

{"TableName":"comp5",
    "Key":
        {"HashKeyElement":{"S":"Julie"},"RangeKeyElement":{"N":"1307654350"}},
    "AttributeUpdates":
        {"status":{"Value":{"S":"online"},
        "Action":"PUT"}},
    "Expected":{"status":{"Value":{"S":"offline"}}},
    "ReturnValues":"ALL_NEW"
}
```

### Risposta di esempio
<a name="API_UpdateItem_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 5IMHO7F01Q9P7Q6QMKMMI3R3QRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 121
Date: Fri, 26 Aug 2011 21:05:00 GMT

{"Attributes":
    {"friends":{"SS":["Lynda, Aaron"]},
    "status":{"S":"online"},
    "time":{"N":"1307654350"},
    "user":{"S":"Julie"}},
"ConsumedCapacityUnits":1
}
```

## Operazioni correlate
<a name="API_UpdateItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 

# UpdateTable
<a name="API_UpdateTable_v20111205"></a>

**Importante**  
***In questa sezione si fa riferimento alla versione API 2011-12-05, che è obsoleta e non deve essere utilizzata per le nuove applicazioni.***  
 **Per informazioni sull'API di basso livello corrente, consulta la [Amazon DynamoDB API Reference](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Descrizione
<a name="API_updatetable_Description"></a>

Aggiorna la velocità effettiva assegnata per la tabella specificata. L'impostazione della velocità effettiva per una tabella consente di gestire le prestazioni e fa parte della caratteristica di velocità effettiva assegnata di DynamoDB. Per ulteriori informazioni, consulta [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md).

I valori della velocità effettiva assegnata possono essere aggiornati o declassati in base ai valori massimi e minimi elencati in [Quote in Amazon DynamoDB](ServiceQuotas.md).

Perché questa operazione abbia esito positivo, la tabella deve trovarsi nello stato `ACTIVE`. UpdateTable è un'operazione asincrona; durante l'esecuzione dell'operazione, la tabella si trova nello stato `UPDATING`. Mentre la tabella si trova nello stato `UPDATING`, la tabella ha ancora la velocità effettiva assegnata prima della chiamata. La nuova impostazione di velocità effettiva assegnata è valida solo quando la tabella ritorna allo stato `ACTIVE`dopo l'operazione UpdateTable. 

## Richieste
<a name="API_UpdateTable_RequestParameters"></a>

### Sintassi
<a name="API_UpdateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```


****  

|  Nome  |  Descrizione  |  Richiesto | 
| --- | --- | --- | 
|  TableName  |  Il nome della tabella da aggiornare.  Tipo: string   |  Sì  | 
|  ProvisionedThroughput  | La nuova velocità effettiva per la tabella specificata, costituita dai valori per `ReadCapacityUnits` e `WriteCapacityUnits`. Consultare [Modalità con capacità allocata di DynamoDB](provisioned-capacity-mode.md).Tipo: Array  | Sì | 
| ProvisionedThroughput :ReadCapacityUnits |  Imposta il numero minimo di `ReadCapacityUnits` con consistenza consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni.  Le operazioni di lettura a consistenza finale richiedono meno sforzo rispetto a un'operazione di lettura consistente, quindi un'impostazione di 50 `ReadCapacityUnits` consistente al secondo fornisce 100 `ReadCapacityUnits` a consistenza finale al secondo. Tipo: numero  | Sì | 
| ProvisionedThroughput :WriteCapacityUnits |  Imposta il numero minimo di `WriteCapacityUnits` consumate al secondo per la tabella specificata prima che DynamoDB bilanci il carico con altre operazioni. Tipo: numero  | Sì | 

## Risposte
<a name="API_UpdateTable_ResponseElements"></a>

### Sintassi
<a name="API_UpdateTable_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/json
Content-Length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeValue1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeValue2","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"UPDATING"}}
```


****  

|  Nome  |  Descrizione  | 
| --- | --- | 
| CreationDateTime | La data in cui è stata creata la tabella.Tipo: numero | 
|  KeySchema  | La struttura della chiave primaria (semplice o composita) per la tabella. Una coppia nome-valore per `HashKeyElement` è obbligatoria mentre una coppia nome-valore per `RangeKeyElement` è facoltativa (richiesta solo per le chiavi primarie composite). La dimensione massima della chiave hash è 2048 byte. La dimensione massima della chiave di intervallo è 1024 byte. Entrambi i limiti sono applicati separatamente (cioè è possibile avere una chiave hash \$1 intervallo combinato, ovvero 2048\$11024). Per ulteriori informazioni sulle chiavi primarie, vedere [Chiave primaria](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Tipo: mappa di `HashKeyElement`, oppure `HashKeyElement` e `RangeKeyElement` per una chiave primaria composita. | 
| ProvisionedThroughput | Impostazioni del throughput corrente per la tabella specificata, inclusi i valori per `LastIncreaseDateTime` (se applicabile), `LastDecreaseDateTime` (se applicabile), Tipo: Array  | 
|  TableName  |  Il nome della tabella aggiornata. Tipo: string  | 
|  TableStatus  | Lo stato corrente della tabella (CREATING, ACTIVE, DELETING o UPDATING), che dovrebbe essere UPDATING. Utilizza l'operazione [DescribeTables](API_DescribeTables_v20111205.md) per controllare lo stato della tabella. Tipo: string | 

## Errori speciali
<a name="API_UpdateTable_SpecialErrors"></a>


****  

|  Errore  |  Descrizione  | 
| --- | --- | 
| ResourceNotFoundException  | La tabella specificata non è stata trovata.  | 
| ResourceInUseException | La tabella non si trova nello stato ACTIVE. | 

## Esempi
<a name="API_UpdateTable_Examples"></a>

### Richiesta di esempio
<a name="API_UpdateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see API DynamoDB di basso livello.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"comp1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```

### Risposta di esempio
<a name="API_UpdateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
content-type: application/x-amz-json-1.0
content-length: 390
Date: Sat, 19 Nov 2011 00:46:47 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"comp1",
    "TableStatus":"UPDATING"}
}
```

## Operazioni correlate
<a name="API_UpdateTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 