DeleteItem - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

DeleteItem

Important

Cette section fait référence à l'API version 2011-12-05 qui est obsolète et ne doit pas être utilisée pour de nouvelles applications.

Pour une documentation sur l'API de bas niveau actuelle, consultez la Référence d'API Amazon DynamoDB.

Description

Supprime un élément d'une table par clé primaire Vous pouvez effectuer une opération de suppression conditionnelle qui supprime l'élément s'il existe ou s'il a une valeur d'attribut attendue.

Note

Si vous spécifiez DeleteItem sans attribut ou valeur, tous les attributs de l'élément sont supprimés.

Si vous ne spécifiez pas de condition, l'opération DeleteItem est opération idempotente. Son exécution à plusieurs reprises sur le même élément ou attribut n'entraîne pas de réponse d'erreur.

Les suppressions conditionnelles sont utiles pour ne supprimer des éléments et attributs que si des conditions spécifiques sont remplies. Si les conditions sont remplies, DynamoDB effectue la suppression. Sinon, l'élément n'est pas supprimé.

Vous pouvez effectuer la vérification conditionnelle attendue sur un attribut par opération.

Requêtes

Syntaxe

// This header is abbreviated. // For a sample of a complete header, see API de bas niveau de DynamoDB. 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"} }
Name (Nom) Description Obligatoire
TableName

Nom de la table contenant l'élément à supprimer.

Type : chaîne

Oui
Key

Clé primaire définissant l'élément. Pour plus d'informations sur les clés primaires, consultez Clé primaire.

Type : mappage de HashKeyElement à sa valeur, et de RangeKeyElement à sa valeur.

Oui
Expected

Désigne un attribut pour une suppression conditionnelle. Le paramètre Expected vous permet de fournir un nom d'attribut et de spécifier si DynamoDB doit ou non vérifier si l'attribut a une valeur particulière avant de le supprimer.

Type : mappage de noms d'attribut.

Non
Expected:AttributeName

Nom de l'attribut pour l'insertion conditionnelle.

Type : chaîne

Non
Expected:AttributeName: ExpectedAttributeValue Utilisez ce paramètre pour spécifier si une valeur existe déjà pour la paire nom-valeur de l'attribut.

La notation JSON suivante supprime l'élément si l'attribut « Color » (Couleur) n'existe pas pour cet élément :

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

La notation JSON suivante vérifie si l'attribut « Color » (Couleur) a une valeur existante de « Yellow » (Jaune) avant de supprimer l'élément :

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

Par défaut, si vous utilisez le paramètre Expected et fournissez une Value, DynamoDB suppose que l'attribut existe et a une valeur actuelle à remplacer. Vous n'avez donc pas à spécifier {"Exists":true}, car c'est implicite. Vous pouvez raccourcir la demande pour :

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

Si vous spécifiez {"Exists":true} sans valeur d'attribut à vérifier, DynamoDB renvoie une erreur.

Non
ReturnValues

Utilisez ce paramètre si vous souhaitez obtenir les paires nom-valeur d'attribut avant leur suppression. Les valeurs de paramètre possibles sont NONE (par défaut) ou ALL_OLD. Si ALL_OLD est spécifié, le contenu de l'ancien élément est renvoyé. Si ce paramètre n'est pas fourni ou est NONE, rien n'est retourné.

Type : chaîne

Non

Réponses

Syntaxe

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 }
Name (Nom) Description
Attributes

Si le paramètre ReturnValues est fourni en tant que ALL_OLD dans la demande, DynamoDB renvoie un tableau de paires nom-valeur d'attribut (essentiellement, l'élément supprimé). Dans le cas contraire, la réponse contient un ensemble vide.

Type : tableau de paires nom-valeur d'attribut.

ConsumedCapacityUnits

Nombre d'unités de capacité d'écriture consommées par l'opération. Cette valeur indique le nombre appliqué à votre débit approvisionné. Les demandes de suppression d'éléments inexistants consomment 1 unité de capacité d'écriture. Pour plus d'informations, consultez Gestion de paramètres sur des tables à capacité allouée DynamoDB.

Type : nombre

Erreurs spéciales

Erreur Description
ConditionalCheckFailedException Le contrôle conditionnel a échoué. La valeur d'attribut attendue n'a pas été trouvée.

Exemples

Exemple de demande

// This header is abbreviated. // For a sample of a complete header, see API de bas niveau de DynamoDB. 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" }

Exemple de réponse

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 }