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 Armazenamento de Blobs do Azure porta 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 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 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 só 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 status código 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 de 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 de base. Se esse cabeçalho for especificado em uma solicitação para excluir um instantâneo individual, o Armazenamento de Blobs retornará status código 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á status código 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 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 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 Códigos de status e 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 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 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 temporariamente.
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 será 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

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a Delete Blob operação conforme descrito abaixo.

O Armazenamento do Azure dá suporte ao uso de Microsoft Entra ID para autorizar solicitações para dados de blob. Com Microsoft Entra ID, você pode usar o RBAC (controle de acesso baseado em função) do Azure para conceder permissões a uma entidade de segurança. A entidade de segurança pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada do Azure. A entidade de segurança é autenticada por Microsoft Entra ID para retornar um token OAuth 2.0. Em seguida, o token pode ser usado para autorizar uma solicitação no serviço de Blob.

Para saber mais sobre a autorização usando Microsoft Entra ID, consulte Autorizar o acesso a blobs usando Microsoft Entra ID.

Permissões

Veja abaixo a ação RBAC necessária para que um usuário, grupo ou entidade de serviço Microsoft Entra chame a Delete Blob operação e a função rbac interna do Azure com privilégios mínimos que inclua esta ação:

Para saber mais sobre como atribuir funções usando o RBAC do Azure, confira Atribuir uma função do Azure para acesso aos dados de 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 limite. 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 Put Block , mas nunca confirmado usando a operação Put Block List . 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 é removido imediatamente do índice da conta de armazenamento e não está 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 temporariamente e não está mais acessível aos clientes. O Armazenamento de Blobs retém o blob ou instantâneo pelo número de dias especificado 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 com exclusão reversível chamando a operação Listar Blobs e especificando a opção include=deleted .

Você pode restaurar blobs ou instantâneos excluídos temporariamente usando Remover Blob. Para qualquer outra operação em blobs ou instantâneos excluídos temporariamente, 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 versão excluído temporariamente. 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 temporariamente versões ou instantâneos de blobs na conta. A exclusão permanente exclui apenas instantâneos ou versões com exclusão reversível.

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 temporariamente 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 nem snapshot são fornecidos.
  • O instantâneo ou versão especificado não é excluído temporariamente.

A exclusão permanente também inclui uma permissão de assinatura de acesso compartilhado para excluir permanentemente uma versão de blob instantâneo ou blob. Para obter mais informações, consulte Criar uma SAS de serviço.

Cobrança

As contas de armazenamento não são cobradas por Delete Blob solicitações.

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