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à.
Importante
This section refers to API version 2011-12-05,
which is deprecated and should not be used for new
applications.
Per la documentazione sull'attuale livello bassoAPI, consulta Amazon DynamoDB Reference API.
Descrizione
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.
Richieste
Sintassi
// This header is abbreviated. // For a sample of a complete header, see DynamoDB di basso livello API. 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: stringa |
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. Tipo: mappa dei nomi degli attributi ai valori degli attributi. |
Sì |
Expected
|
Designa un attributo per un put condizionale. Il parametro 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: stringa |
No |
Expected:AttributeName: ExpectedAttributeValue |
Utilizza questo parametro per specificare se esiste già un valore per la coppia nome-valore dell'attributo. La seguente JSON notazione sostituisce l'elemento se l'attributo «Colore» non esiste già per quell'elemento:
La seguente JSON notazione verifica se l'attributo con nome «Colore» ha un valore esistente di «Giallo» prima di sostituire l'elemento:
Per impostazione predefinita, se si utilizza il parametro
NotaSe si specifica |
No |
ReturnValues
|
Utilizza questo parametro se desideri ottenere le coppie nome-valore dell'attributo prima che vengano aggiornate con la richiesta Tipo: stringa |
No |
Risposte
Sintassi
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à 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à di capacità fornita da DynamoDB. Tipo: numero |
Errori speciali
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
Per esempi di utilizzo di AWS SDK, vedereUtilizzo di elementi e attributi in DynamoDB.
Richiesta di esempio
// This header is abbreviated. For a sample of a complete header, see DynamoDB di basso livello API. 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
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
}