DeleteItem - Amazon DynamoDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

DeleteItem

Importante

Esta seção refere-se à versão de API 2011-12-05, que está obsoleta e não deve ser usada para novos aplicativos.

Para obter a documentação da API de baixo nível atual, consulte a Referência da API do Amazon DynamoDB.

Descrição

Exclui um item único em uma tabela por meio de uma chave primária Você pode executar uma operação de exclusão condicional que exclui o item, se ele existir, ou se ele tiver um valor de atributo esperado.

nota

Se você especificar DeleteItem sem atributos ou valores, todos os atributos do item serão excluídos.

A não ser que você especifique as condições, DeleteItem é uma operação idempotente; executá-la várias vezes no mesmo item ou atributo não resultará em uma resposta de erro.

As exclusões condicionais são úteis para excluir somente itens e atributos se condições específicas forem atendidas. Se as condições forem atendidas, o DynamoDB executará a exclusão. Caso contrário, o item não é excluído.

Você pode executar a verificação condicional esperada em um atributo por operação.

Solicitações

Sintaxe

// This header is abbreviated. // For a sample of a complete header, see API de baixo nível do 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 (Nome) Descrição Obrigatório
TableName

O nome da tabela que contém o item a ser excluído.

Tipo: string

Sim
Key

A chave primária que define o item. Para obter mais informações sobre chaves primárias, consulte Chave primária.

Tipo: mapa de HashKeyElement para seu valor e RangeKeyElement para seu valor.

Sim
Expected

Designa um atributo para uma exclusão condicional. O parâmetro Expected permite que você forneça um nome de atributo e se o DynamoDB deve ou não verificar se o atributo tem um valor específico antes de excluí-lo.

Tipo: mapa de nomes de atributo.

Não
Expected:AttributeName

O nome do atributo da operação put condicional.

Tipo: string

Não
Expected:AttributeName: ExpectedAttributeValue Use esse parâmetro para especificar se o valor já existe ou não para o par de nome-valor do atributo.

A notação JSON a seguir exclui o item se o atributo "Cor" não existir para esse item:

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

A notação JSON a seguir verifica se o atributo com o nome "Cor" tem um valor existente "Amarelo" antes de excluir o item:

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

Por padrão, se você usar o parâmetro Expected e fornecer um Value, o DynamoDB presumirá que o atributo existe e tem um valor atual a ser substituído. Portanto, você não precisa especificar {"Exists":true}, pois ele está implícito. Você pode reduzir a solicitação para:

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

Se você especificar {"Exists":true} sem um valor de atributo para verificar, o DynamoDB retornará um erro.

Não
ReturnValues

Use este parâmetro se você deseja obter os pares de nome-valor de atributo antes que eles sejam excluídos. Os possíveis valores de parâmetro são NONE (padrão) ou ALL_OLD. Se ALL_OLD for especificado, o conteúdo do item antigo será retornado. Se esse parâmetro não for fornecido ou for NONE, nada será retornado.

Tipo: string

Não

Respostas

Sintaxe

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 (Nome) Descrição
Attributes

Se o parâmetro ReturnValues for fornecido como ALL_OLD na solicitação, o DynamoDB retornará uma matriz de pares de nome-valor de atributo (basicamente, o item excluído). Caso contrário, a resposta conterá um conjunto vazio.

Tipo: matriz de pares de nome-valor de atributo.

ConsumedCapacityUnits

O número de unidades de capacidade de gravação consumidas pela operação. Esse valor mostra o número utilizado no throughput provisionado. As solicitações de exclusão em itens não existentes consomem 1 unidade de capacidade de gravação. Para obter mais informações, consulte Gerenciar configurações em tabelas com capacidade provisionada do DynamoDB.

Tipo: número

Erros especiais

Erro Descrição
ConditionalCheckFailedException Falha na verificação condicional. Um valor de atributo esperado não foi encontrado.

Exemplos

Exemplo de solicitação

// This header is abbreviated. // For a sample of a complete header, see API de baixo nível do 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" }

Exemplo de resposta

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 }