Eliminar Blob

A Delete Blob operação marca o blob ou instantâneo especificado para eliminação. O blob é posteriormente eliminado durante a libertação da memória.

Tenha em atenção que, para eliminar um blob, tem de eliminar todos os respetivos instantâneos. Pode eliminar ambos ao mesmo tempo com a Delete Blob operação.

Pedir

Pode construir o pedido da Delete Blob seguinte forma. É recomendado HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento.

URI do pedido de 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

Quando fizer um pedido relativamente ao serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e Armazenamento de Blobs do Azure porta como 127.0.0.1:10000, seguido do nome da conta de armazenamento emulada.

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

Para obter mais informações, veja Use Azurite emulator for local Azure Storage development (Utilizar o emulador do Azurite para o desenvolvimento do Armazenamento do Azure local).

Parâmetros do URI

Pode especificar os seguintes parâmetros adicionais no URI do pedido.

Parâmetro Description
snapshot Opcional. O parâmetro de instantâneo é um valor opaco DateTime que, quando presente, especifica o instantâneo de blob a eliminar. Para obter mais informações sobre como trabalhar com instantâneos de blobs, consulte Criar 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 eliminar.
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Setting timeouts for Blob Storage operations (Definir 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 do pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Necessário para todos os pedidos autorizados. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-lease-id:<ID> Necessário se o blob tiver uma concessão ativa.

Para executar esta operação num blob com uma concessão ativa, especifique o ID de concessão válido para este cabeçalho. Se não for especificado um ID de concessão válido no pedido, a operação falhará com o código de estado 403 (Proibido).
x-ms-delete-snapshots: {include, only} Necessário se o blob tiver instantâneos associados. Especifique uma das seguintes opções:

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

Especifique este cabeçalho apenas para um pedido relativamente ao recurso de blob base. Se este cabeçalho for especificado num pedido para eliminar um instantâneo individual, o Armazenamento de Blobs devolve o código de estado 400 (Pedido Incorreto).

Se este cabeçalho não for especificado no pedido e o blob tiver instantâneos associados, o Armazenamento de Blobs devolve o código de estado 409 (Conflito).
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar Armazenamento de Blobs do Azure.

Esta operação também suporta a utilização de cabeçalhos condicionais para eliminar o blob apenas se uma condição especificada for cumprida. Para obter mais informações, veja Especificar cabeçalhos condicionais para operações de Armazenamento de Blobs.

Corpo do pedido

Nenhum.

Resposta

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

Código de estado

Uma operação bem-sucedida devolve o código de estado 202 (Aceite). Para obter informações sobre códigos de estado, veja Códigos de estado e de erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os seguintes cabeçalhos. 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 Este cabeçalho identifica exclusivamente o pedido que foi feito e pode ser utilizado para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API.
x-ms-version Indica a versão do Armazenamento de Blobs utilizada para executar o pedido. Este cabeçalho é devolvido para pedidos feitos 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 devolve true se o blob tiver sido eliminado permanentemente e false se o blob tiver sido eliminado de forma recuperável.
Date Um valor de data/hora UTC que indica a hora em que a resposta foi iniciada. O serviço gera este valor.
x-ms-client-request-id Pode utilizar este cabeçalho para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se estiver presente no pedido. O valor é, no máximo, 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, este 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. Pode autorizar a Delete Blob operação conforme descrito abaixo.

O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos a dados de blobs. Com Microsoft Entra ID, pode utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) para conceder permissões a um principal de segurança. O principal de segurança pode ser um utilizador, grupo, principal de serviço de aplicação ou identidade gerida do Azure. O principal de segurança é autenticado por Microsoft Entra ID para devolver um token OAuth 2.0. Em seguida, o token pode ser utilizado para autorizar um pedido contra o serviço Blob.

Para saber mais sobre a autorização através de Microsoft Entra ID, veja Autorizar o acesso a blobs com Microsoft Entra ID.

Permissões

Abaixo estão listadas as ações RBAC necessárias para que um utilizador, grupo ou principal de serviço Microsoft Entra chame a Delete Blob operação e a função RBAC do Azure com menos privilégios que inclua esta ação:

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

Observações

Se o blob tiver uma concessão ativa, o cliente tem de especificar um ID de concessão válido no pedido para o eliminar.

Se um blob tiver um grande número de instantâneos, é possível que a operação exceda o Delete Blob tempo limite. Se isto acontecer, o cliente deverá repetir o pedido.

Para a versão 2013-08-15 e posterior, o cliente pode ligar Delete Blob para eliminar blobs não comprometidos. Um blob não comprometido é um blob que foi criado com chamadas para a operação Put Block , mas nunca consolidado com a operação Colocar Lista de Blocos . Para versões anteriores, o cliente tem de consolidar o blob primeiro antes de o eliminar.

Funcionalidade de eliminação recuperável desativada

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

Funcionalidade de eliminação recuperável ativada

Quando um blob é eliminado com êxito, é eliminado de forma recuperável e já não está acessível aos clientes. O Armazenamento de Blobs retém o blob ou 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, veja 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 recolha da memória. Pode aceder a um blob ou instantâneo eliminado de forma recuperável ao chamar a operação Blobs de Lista e especificar a opção include=deleted .

Pode restaurar blobs ou instantâneos eliminados de forma recuperável com o Blob Undelete. Para qualquer outra operação em blobs ou instantâneos eliminados de forma recuperável, o Armazenamento de Blobs devolve o erro 404 (Recurso Não Encontrado).

Eliminar de forma permanente

Com a versão 2020-02-10 e posterior, pode eliminar permanentemente um instantâneo ou versão eliminado de forma recuperável. Para tal, ative a funcionalidade. Para obter mais informações, veja Definir propriedades do Armazenamento de Blobs.

Nota

A conta de armazenamento tem de ter o controlo de versões ou instantâneos ativados. A eliminação recuperável também tem de estar ativada na conta de armazenamento para eliminar versões de eliminação recuperável ou instantâneos de blobs na conta. A eliminação permanente elimina apenas instantâneos ou versões eliminados de forma recuperável.

As contas de armazenamento com a eliminação permanente ativada podem utilizar o deletetype=permanent parâmetro de consulta para eliminar permanentemente um instantâneo eliminado de forma recuperável ou uma versão de blob eliminada.

Se o parâmetro de consulta apresentar alguma das seguintes opções, o Armazenamento de Blobs devolve um erro 409 (Conflito):

  • A funcionalidade de eliminação permanente não está ativada para a conta de armazenamento.
  • Nem versionid são snapshot fornecidos.
  • O instantâneo ou versão especificado não é eliminado de forma recuperável.

A eliminação permanente também inclui uma permissão de assinatura de acesso partilhado para eliminar permanentemente um instantâneo de blobs ou uma versão de blob. Para obter mais informações, veja Criar uma SAS de serviço.

Faturação

As contas de armazenamento não são cobradas pelos Delete Blob pedidos.

Ver também

Autorizar pedidos para o Armazenamento do Azure

Códigos de estado e de erro

Códigos de erro do Armazenamento de Blobs

Anular a eliminação de Blobs

Listar Blobs