Delete Blob

A operação Delete Blob marca o blob ou o instantâneo especificado para exclusão. O blob é excluído posteriormente, durante a coleta de lixo.

Observe que para excluir um blob, você deve excluir todos os seus instantâneos. Você pode excluir os dois simultaneamente, com a operação Delete Blob.

Solicitação

A solicitação Delete Blob pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento:

URI de solicitação do método DELETE Versão de HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>
HTTP/1.1

URI do serviço de armazenamento emulado

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

URI de solicitação do método DELETE Versão de HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

Para obter mais informações, consulte Usando o Azure Armazenamento Emulator para desenvolvimento e teste.

Parâmetros do URI

Os seguintes parâmetros adicionais podem ser especificados no URI de solicitação.

Parâmetro Descrição
snapshot Opcional. O parâmetro de instantâneo é um valor DateTime opaco que, quando presente, especifica o instantâneo de blob a ser excluído. Para obter mais informações sobre como trabalhar com instantâneos de blob, consulte Criando um instantâneo de um blob.
versionid Opcional, versão 2019-12-12 e mais recente. O parâmetro versionid é um valor opaco que, quando presente, especifica a Versão do blob a DateTime ser excluído.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Setting Timeouts for Blob Service Operations.
deletetype Opcional, versão 2020-02-10 ou posterior. O valor de deletetype só pode ser permanent . Para obter mais informações, consulte Comentários abaixo.

Cabeçalhos de 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 obter mais informações, consulte Autorizar solicitações para o Azure Armazenamento.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Azure Armazenamento.
x-ms-version Necessário para todas as solicitações autorizadas. Para obter mais informações, consulte Versioning for the Azure Armazenamento Services.
x-ms-lease-id:<ID> Obrigatório se o blob tiver uma concessão ativa.

Para executar essa operação em um blob com uma concessão ativa, especifique a ID de concessão válida para esse cabeçalho. Se uma ID de concessão válida não for especificada na solicitação, ocorrerá uma falha na operação com o código de status 403 (Proibido).
x-ms-delete-snapshots: {include, only} Obrigatório se o blob tiver instantâneos associados. Especifique uma das duas opções a seguir:

- include: exclua o blob de base e todos os seus instantâneos.
- only: exclua apenas os instantâneos do blob e não o próprio blob.

Esse cabeçalho deverá ser especificado apenas para uma solicitação no recurso de blob de base. Se esse cabeçalho for especificado em uma solicitação para excluir um instantâneo individual, o serviço Blob retornará o código de status 400 (Solicitação Incorreta).

Se esse cabeçalho não for especificado na solicitação, e o blob tiver instantâneos associados, o serviço Blob retornará o código de status 409 (Conflito).
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de 1 caractere KiB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. O uso desse cabeçalho é altamente recomendável para correlacionar as atividades do lado do cliente com as solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o log Armazenamento Analytics e Log do Azure:usando logs para rastrear Armazenamento solicitações .

Essa operação também dará suporte ao uso de cabeçalhos condicionais para excluir o blob somente se uma determinada condição for atendida. Para obter mais informações, confira Como especificar cabeçalhos condicionais para operações de serviço Blob.

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 202 (Aceito).

Para obter informações sobre códigos de status, consulte Status e Códigos de erro.

Cabeçalhos de resposta

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

Cabeçalho de Resposta Descrição
x-ms-request-id Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na 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 serviço Blob usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recentes.
x-ms-delete-type-permanent Para as versões 29/07/2017 e posteriores, o serviço Blob retornará true se o blob tiver sido excluído permanentemente e false se o blob tiver sido excluído de forma suave.
Date Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.
x-ms-client-request-id Esse header pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse header será igual ao valor do header se ele estiver presente na solicitação e o valor for, no máximo, x-ms-client-request-id 1024 caracteres ASCII visíveis. Se o x-ms-client-request-id header não estiver presente na solicitação, esse header não estará presente na resposta.

Autorização

Essa operação poderá ser executada pelo proprietário da conta ou por qualquer pessoa que estiver usando uma assinatura de acesso compartilhado que tenha permissão para excluir o blob.

Comentários

Se o blob tiver uma concessão ativa, o cliente deverá especificar uma ID de concessão válida na solicitação para excluí-la.

Se um blob tiver um grande número de instantâneos, é possível que a Delete Blob operação tenha um tempo máximo. Se isso acontecer, o cliente deverá repetir a solicitação.

Para a versão 2013-08-15 e posterior, o cliente pode chamar Delete Blob para excluir blobs não confirmados. Um blob não confirmado é um blob que foi criado com chamadas para a operação Colocar Bloco, mas nunca confirmado usando a operação Colocar Lista de Blocos. Para versões anteriores, o cliente deve confirmar o blob primeiro antes de excluí-lo.

Recurso de exclusão suave desabilitado

Quando um blob é excluído com êxito, ele é removido imediatamente do índice da conta de armazenamento e se torna inacessível aos clientes. Os dados do blob são removidos posteriormente do serviço durante a coleta de lixo.

Recurso de exclusão suave habilitado

Quando um blob é excluído com êxito, ele é excluído de forma suave e não está mais acessível aos clientes. O serviço blob retém o BLOB ou instantâneo para o número de dias especificado para a propriedade DeleteRetentionPolicy do serviço BLOB. Para obter informações sobre como ler propriedades do serviço BLOB, consulte definir propriedades do serviço blob.

Após o número de dias especificado, os dados do blob são removidos do serviço durante a coleta de lixo. Um BLOB ou um instantâneo excluído de maneira flexível pode ser acessado chamando a operação listar BLOBs e especificando a include=deleted opção.

O BLOB ou o instantâneo com exclusão reversível pode ser restaurado usando o blobpara restaurar.

Para qualquer outra operação no BLOB ou instantâneo com exclusão reversível, o serviço blob retorna o erro 404 (ResourceNotFound).

Exclusão permanente

Um recurso para excluir permanentemente um instantâneo/versão foi adicionado à API de blob de exclusão com a versão 2020-02-10 e posterior. Para aproveitar o recurso, a conta de armazenamento precisa ter a exclusão permanente habilitada. Para obter mais informações, consulte definir propriedades do serviço blob.

Armazenamento contas com exclusão permanente habilitada podem usar o deletetype=permanent parâmetro de consulta para excluir permanentemente um instantâneo excluído de forma reversível ou uma versão de blob excluída. O serviço blob retornaria 409 (conflito) se o parâmetro de consulta apresentar uma das seguintes opções:

  • A exclusão permanente não está habilitada para a conta de armazenamento.
  • Nem versionid nem snapshot são fornecidos.
  • O instantâneo ou a versão especificada não é (Soft) excluída.

A exclusão permanente também inclui uma nova permissão de SAS (y) conceder permissão para excluir permanentemente um instantâneo de BLOB ou uma versão de BLOB. Para obter mais informações, consulte criar uma SAS de serviço.

Confira também

autorizar solicitações para o Azure Armazenamento
Status e códigos de erro
Códigos de erro do serviço blob não exclua BLOBs da lista de BLOBs