Delete Blob
A Delete Blob
operação exclui o blob ou o instantâneo especificado.
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.
Importante
A Microsoft recomenda usar Microsoft Entra ID com identidades gerenciadas para autorizar solicitações para o Armazenamento do Azure. Microsoft Entra ID fornece 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 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 um usuário Microsoft Entra, grupo, identidade gerenciada ou entidade de serviço para chamar a Delete Blob
operação e a função rbac interna do Azure com privilégios mínimos que inclui esta ação:
- Ação rbac do Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
- Função interna com privilégios mínimos:Colaborador de Dados de Blob de Armazenamento
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.
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. 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
nemsnapshot
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 Create 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