Compartilhar via


Excluir blob

A Delete Blob operação exclui o blob ou instantâneo especificado.

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

Solicitação

Você pode construir a Delete Blob solicitação da 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 do Armazenamento de Blobs do Azure como 127.0.0.1:10000, seguidos 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 Azurite para o desenvolvimento local do Armazenamento do Azure.

Parâmetros de URI

Você pode especificar os seguintes parâmetros adicionais no URI da solicitação.

Parâmetro Description
snapshot Optional. O parâmetro snapshot é um valor opaco DateTime 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 Optional. O timeout parâmetro é expresso em segundos. Para obter mais informações, consulte Definindo 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 Description
Authorization Obrigatório Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Obrigató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> Necessá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 esse cabeçalho não for especificado na solicitação, o Armazenamento de Blobs retornará o código de status 412 (LeaseIdMissing, Falha na pré-condição).

Se uma ID de concessão formatada incorretamente for especificada na solicitação, a operação falhará com o código de status 400 (InvalidHeaderValue, Solicitação Incorreta).

Se uma ID de concessão formatada corretamente for especificada, mas a ID de concessão especificada não estiver associada ao blob, a operação falhará com o código de status 412 (LeaseIdMismatchWithBlobOperation, Falha na pré-condição)
x-ms-delete-snapshots: {include, only} Necessá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 próprio blob.

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 Optional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres de 1 kibibyte (KiB) que é registrado nos logs quando o log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações que o servidor recebe. Para obter mais informações, consulte Monitorar o Armazenamento de Blobs do Azure.

Essa operação também dá suporte ao uso de cabeçalhos condicionais para excluir o blob somente se uma condição especificada 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 erro.

Cabeçalhos de resposta

A resposta para essa 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 Description
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 posterior.
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 de forma reversível.
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 é de 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.

Authorization

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.

Importante

A Microsoft recomenda usar a ID do Microsoft Entra com identidades gerenciadas para autorizar solicitações para o Armazenamento do Azure. O Microsoft Entra ID oferece segurança superior e facilidade de uso em comparação com a autorização de Chave Compartilhada.

O Armazenamento do Azure dá suporte ao uso da ID do Microsoft Entra para autorizar solicitações para dados de blob. Com a ID do Microsoft Entra, você pode usar o RBAC do Azure (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, grupo, entidade de serviço de aplicativo ou identidade gerenciada do Azure. A entidade de segurança é autenticada pelo 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 a ID do Microsoft Entra, consulte Autorizar o acesso a blobs usando a ID do Microsoft Entra.

Permissions

Abaixo estão listadas a ação RBAC necessária para que um usuário, grupo, identidade gerenciada ou entidade de serviço do Microsoft Entra chame a Delete Blob operação e a função RBAC interna do Azure com menos privilégios que inclui essa ação:

Para saber mais sobre como atribuir funções usando o RBAC do Azure, consulte Atribuir uma função do Azure para acesso a dados de blob.

Observações

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 atinja o 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 antes de excluí-lo.

Recurso de exclusão reversível desativado

Quando um blob é excluído com êxito, ele é imediatamente removido do índice da conta de armazenamento e não pode mais ser acessado pelos clientes.

Recurso de exclusão reversível habilitado

Quando um blob é excluído com êxito, ele é excluído temporariamente e não pode mais ser acessado pelos 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. Você pode acessar um blob ou instantâneo excluído temporariamente chamando a operação List Blobs e especificando a include=deleted opção.

Você pode restaurar blobs ou instantâneos excluídos temporariamente usando Undelete Blob. Para qualquer outra operação em blobs ou instantâneos excluídos de forma reversível, 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 snapshot ou uma versão excluída de forma reversível. Para fazer isso, você habilita 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 reversíveis ou instantâneos de blobs na conta. A exclusão permanente exclui apenas instantâneos ou versões excluídas de forma reversível.

As 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 versionidsnapshot são fornecidos.
  • O instantâneo ou a versão especificada não é excluído de forma reversível.

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.

Faturamento

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

Consulte também

Autorizar solicitações para o Armazenamento do Azure

Status e códigos de erro

Códigos de erro do Armazenamento de Blobs

Recuperar Blob

Blobs de lista