Eliminar Blob
A Delete Blob
operação elimina o blob ou instantâneo especificado.
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 contra o 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 Utilizar o emulador Azurite para desenvolvimento local do Armazenamento do Azure.
Parâmetros URI
Pode especificar os seguintes parâmetros adicionais no URI do pedido.
Parâmetro | Description |
---|---|
snapshot |
Opcional. O parâmetro instantâneo é um valor opaco DateTime que, quando presente, especifica o instantâneo do blob a eliminar. Para obter mais informações sobre como trabalhar com instantâneos de blobs, veja 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 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 efetuar 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 no 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 for cumprida uma condição especificada. 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.
Importante
A Microsoft recomenda a utilização de Microsoft Entra ID com identidades geridas para autorizar pedidos para o Armazenamento do Azure. Microsoft Entra ID fornece segurança e facilidade de utilização superiores em comparação com a autorização de Chave Partilhada.
O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos para 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 Microsoft Entra, grupo, identidade gerida ou principal de serviço chame a Delete Blob
operação e a função RBAC do Azure com menos privilégios que inclua esta ação:
- Ação RBAC do Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
- Função incorporada com menos privilégios:Contribuidor de Dados do Blob de Armazenamento
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 chamar Delete Blob
para eliminar blobs não consolidados. Um blob não consolidado é um blob que foi criado com chamadas para a operação Colocar Bloco , mas nunca consolidado com a operação Colocar Lista de Blocos . Para versões anteriores, o cliente tem de consolidar primeiro o blob 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 deixa de estar acessível aos clientes.
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 a leitura das 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. 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 a opção Anular Eliminação de Blobs. 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 de forma recuperável versões 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 qualquer um dos seguintes, 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
nemsnapshot
são 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 blob ou uma versão de blob. Para obter mais informações, veja Create 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