Excluir Entidade (Armazenamento do Azure)

A operação Delete Entity exclui uma entidade existente em uma tabela.

Solicitação

Você pode construir a solicitação da Delete Entity seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento, mytable pelo nome da tabela e myPartitionKey e myRowKey pelo nome da chave de partição e da chave de linha que identificam a entidade a ser excluída.

Método URI da solicitação Versão HTTP
DELETE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

O endereço da entidade a ser atualizada pode ter vários formulários no URI de solicitação. Para obter detalhes adicionais, consulte o Protocolo OData.

URI do serviço de armazenamento emulado

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome do host do emulador e a porta do Armazenamento de Tabelas do Azure como 127.0.0.1:10002, seguido pelo nome da conta de armazenamento emulado.

Método URI da solicitação Versão HTTP
DELETE http://127.0.0.1:10002/devstoreaccount1/myentity(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

O Armazenamento de Tabelas no emulador de armazenamento difere do serviço do Azure de várias maneiras. Para obter mais informações, consulte Diferenças entre o emulador de armazenamento e os serviços de Armazenamento do Azure.

Parâmetros do URI

Você pode especificar o parâmetro adicional a seguir no URI de solicitação.

Parâmetro Descrição
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Configurando tempos limite para operações de Armazenamento de Tabelas.

Cabeçalhos da solicitação

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Opcional. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
If-Match Obrigatórios. O cliente pode especificar o ETag para a entidade na solicitação, a fim de comparar com o ETag mantido pelo serviço para fins de simultaneidade otimista. A operação de exclusão continuará somente se o ETag enviado pelo cliente corresponder ao valor mantido pelo servidor. Essa correspondência indica que a entidade não foi modificada desde que foi recuperada pelo cliente.

Para forçar uma exclusão incondicional, defina If-Match como o caractere curinga (*).
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres KiB (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar o Armazenamento de Tabelas do Azure.

Corpo da solicitação

Nenhum.

Resposta

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Código de status

Uma operação bem-sucedida retorna o código de status 204 (Sem conteúdo). Para obter informações sobre códigos status, consulte Códigos de erro e status e códigos de erro do Armazenamento de Tabelas.

Cabeçalhos de resposta

A resposta inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
x-ms-request-id Esse cabeçalho identifica exclusivamente a solicitação que foi feita e pode ser usado para solucionar problemas da solicitação. Para obter mais informações, consulte Solução de problemas de operações de API.
x-ms-version Indica a versão do Armazenamento de Tabelas usada para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.
Date Um valor de data/hora UTC que indica a hora em que a resposta foi iniciada. O serviço gera esse valor.
x-ms-client-request-id Você pode usar esse cabeçalho para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se ele estiver presente na solicitação. O valor é no máximo 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho não estará presente na resposta.

Corpo da resposta

Nenhum.

Autorização

O proprietário da conta pode executar essa operação. Além disso, qualquer pessoa com uma assinatura de acesso compartilhado que tenha permissão para executar essa operação pode executá-la.

Comentários

Quando você exclui uma entidade com êxito, a entidade é marcada imediatamente para exclusão e não é mais acessível aos clientes. Posteriormente, a entidade é removida do Armazenamento de Tabelas durante a coleta de lixo.

Uma entidade fornece ETag simultaneidade otimista padrão para operações de exclusão. O ETag valor é opaco e não deve ser lido ou confiado. Antes que ocorra uma operação de exclusão, o Armazenamento de Tabelas verifica se o valor atual ETag da entidade é idêntico ao ETag valor incluído na solicitação de exclusão no If-Match cabeçalho. Se os valores forem idênticos, o Armazenamento de Tabelas determinará que a entidade não foi modificada desde que foi recuperada e a operação de exclusão continuará.

Se a entidade for diferente da ETag especificada com a solicitação de exclusão, a operação de exclusão falhará com status código 412 (Falha na pré-condição). Esse erro indica que a entidade foi alterada no servidor desde a recuperação. Para resolver esse erro, recupere novamente a entidade e reedite a solicitação.

Para forçar uma operação de exclusão incondicional, defina o valor do cabeçalho If-Match como o caractere curinga (*) na solicitação. Passar esse valor para a operação substitui a simultaneidade otimista padrão e ignora qualquer incompatibilidade de ETag valores.

Se o cabeçalho If-Match estiver ausente da solicitação, o serviço retornará o código de status 400 (Solicitação Incorreta). Uma solicitação malformada de outras maneiras também pode retornar o código 400. Para obter mais informações, consulte Códigos de erro do Armazenamento de Tabelas.

Qualquer aplicativo que possa autorizar e enviar uma solicitação HTTP DELETE pode excluir uma entidade. Para obter mais informações sobre como construir uma consulta usando HTTP DELETE, consulte Adicionar, modificar e excluir entidades.

Para obter informações sobre como executar operações de exclusão em lote, consulte Executando transações de grupo de entidades.

Confira também

Autorizar solicitações para o Armazenamento do Azure
Definindo os cabeçalhos de versão do serviço de dados OData
Status e códigos de erro
Códigos de erro do Armazenamento de Tabelas