DeleteItem - Amazon DynamoDB

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

DeleteItem

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.

Descrizione

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

Sintassi

// 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 Obbligatorio
TableName

Il nome della tabella che contiene l'elemento da eliminare.

Tipo: string

Key

La chiave primaria che definisce l'elemento. Per ulteriori informazioni sulle chiavi primarie, vedere Chiave primaria.

Tipo: mappa di HashKeyElement sul suo valore e RangeKeyElement sul suo valore.

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:

"Expected" : {"Color":{"Exists":false}}

La seguente notazione JSON controlla se l'attributo con nome "Colore" ha un valore esistente pari a "Giallo" prima di eliminare l'elemento:

"Expected" : {"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}

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:

"Expected" : {"Color":{"Value":{"S":"Yellow"}}}
Nota

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 sonoNONE (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

Sintassi

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 Gestione delle impostazioni sulle tabelle di capacità assegnata di DynamoDB.

Tipo: numero

Errori speciali

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

Esempi

Richiesta di esempio

// 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

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 }