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

Você pode construir a solicitação da Delete Blob seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento.

URI de solicitação do método DELETE Versão 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 do host do emulador e a porta Armazenamento de Blobs do Azure como 127.0.0.1:10000, seguido pelo nome da conta de armazenamento emulada.

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

Para obter mais informações, consulte Usar o emulador do Azurite para desenvolvimento local do Armazenamento do Azure.

Parâmetros do URI

Você pode especificar os seguintes parâmetros adicionais no URI da 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 posterior. O versionid parâmetro é um valor opaco DateTime que, quando presente, especifica a versão do blob a ser excluída.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Configurando tempos limite para operações de Armazenamento de Blobs.
deletetype Opcional, versão 2020-02-10 ou posterior. O valor de deletetype somente pode ser permanent.

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 Necessário para todas as solicitações autorizadas. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
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, a operação falhará 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 seguintes opções:

- include: exclua o blob base e todos os seus instantâneos.
- only: exclua apenas os instantâneos do blob e não o blob em si.

Especifique esse cabeçalho somente para uma solicitação no recurso de blob base. Se esse cabeçalho for especificado em uma solicitação para excluir um instantâneo individual, o Armazenamento de Blobs 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 Armazenamento de Blobs 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 caracteres KiB (1 kibibyte) que é registrado nos logs do Azure Monitor quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar as atividades do lado do cliente com as solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitor Armazenamento de Blobs do Azure.

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, consulte Especificando cabeçalhos condicionais para operações de Armazenamento de Blobs.

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 HTTP padrão 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 exclusivamente a solicitação 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 Blobs usada para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.
x-ms-delete-type-permanent Para a versão 2017-07-29 e posterior, o Armazenamento de Blobs retornará true se o blob tiver sido excluído permanentemente e false se o blob tiver sido excluído.
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.

Autorização

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

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 limite. Se isso acontecer, o cliente deverá tentar novamente 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 reversível desabilitado

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

Recurso de exclusão reversível habilitado

Quando um blob é excluído com êxito, ele é excluído suavemente e não é mais acessível aos clientes. O Armazenamento de Blobs retém o blob ou o instantâneo para o número de dias especificados para a DeleteRetentionPolicy propriedade do Armazenamento de Blobs. Para obter informações sobre como ler as propriedades do Armazenamento de Blobs, consulte Definir propriedades do Armazenamento de Blobs.

Após o número especificado de dias, os dados do blob são removidos do serviço durante a coleta de lixo. Você pode acessar um blob ou instantâneo de exclusão reversível chamando a operação Blobs de Lista e especificando a opção include=deleted .

Você pode restaurar blobs ou instantâneos excluídos com exclusão reversível usando o Blob undelete. Para qualquer outra operação em blobs ou instantâneos excluídos, o Armazenamento de Blobs retorna o erro 404 (Recurso Não Encontrado).

Exclusão permanente

Com a versão 2020-02-10 e posterior, você pode excluir permanentemente um instantâneo ou uma versão de exclusão reversível. Para fazer isso, habilite o recurso. Para obter mais informações, consulte Definir propriedades do Armazenamento de Blobs.

Observação

A conta de armazenamento deve ter controle de versão ou instantâneos habilitados. A exclusão reversível também deve ser habilitada na conta de armazenamento para excluir versões ou instantâneos de blobs na conta. A exclusão permanente exclui somente instantâneos ou versões excluídas.

Contas de armazenamento com exclusão permanente habilitada podem usar o deletetype=permanent parâmetro de consulta para excluir permanentemente um instantâneo excluído ou uma versão de blob excluída.

Se o parâmetro de consulta apresentar qualquer um dos seguintes, o Armazenamento de Blobs retornará um erro 409 (Conflito):

  • O recurso de exclusão permanente não está habilitado para a conta de armazenamento.
  • Nem versionid são snapshot fornecidos.
  • O instantâneo ou a versão especificada não é excluído suavemente.

A exclusão permanente também inclui uma permissão de assinatura de acesso compartilhado 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 Armazenamento do Azure

Status e códigos de erro

Códigos de erro do Armazenamento de Blobs

Restaurar blob

Listar Blobs