Delete Blob
L'operazione Delete Blob
elimina il BLOB o lo snapshot specificati.
Si noti che per eliminare un Blob, è necessario eliminare tutti i relativi snapshot. È possibile eliminare entrambi contemporaneamente con l'operazione Delete Blob
.
Richiesta
È possibile costruire la Delete Blob
richiesta come indicato di seguito. È consigliato il protocollo HTTPS. Sostituire myaccount con il nome dell'account di archiviazione.
URI della richiesta del metodo DELETE | Versione 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 del servizio di archiviazione emulato
Quando si effettua una richiesta sul servizio di archiviazione emulato, specificare il nome host dell'emulatore e Archiviazione BLOB di Azure porta come 127.0.0.1:10000
, seguito dal nome dell'account di archiviazione emulato.
URI della richiesta del metodo DELETE | Versione HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.1 |
Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.
Parametri URI
È possibile specificare i parametri aggiuntivi seguenti nell'URI della richiesta.
Parametro | Descrizione |
---|---|
snapshot |
Facoltativa. Il parametro snapshot è un valore DateTime opaco che, se presente, specifica lo snapshot Blob da eliminare. Per altre informazioni sull'uso di snapshot BLOB, vedere Creazione di uno snapshot di un BLOB. |
versionid |
Facoltativo, versione 2019-12-12 e successiva. Il versionid parametro è un valore opaco DateTime che, quando presente, specifica la versione del BLOB da eliminare. |
timeout |
facoltativo. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostazione dei timeout per le operazioni di archiviazione BLOB. |
deletetype |
Facoltativo, versione 2020-02-10 o successiva. Il valore di deletetype può essere permanent solo . |
Intestazioni della richiesta
Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative.
Intestazione della richiesta | Descrizione |
---|---|
Authorization |
Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
Date o x-ms-date |
Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
x-ms-version |
Obbligatorio per tutte le richieste autorizzate. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure. |
x-ms-lease-id:<ID> |
Obbligatoria se il Blob presenta un lease attivo. Per eseguire questa operazione su un Blob con un lease attivo, specificare l'ID lease valido per questa intestazione. Se non viene specificato un ID lease valido nella richiesta, l'operazione non riesce con il codice di stato 403 (Non consentito). |
x-ms-delete-snapshots: {include, only} |
Obbligatoria se al Blob sono associati snapshot. Specificare una delle opzioni seguenti: - include : eliminare il BLOB di base e tutti i relativi snapshot.- only : eliminare solo gli snapshot del BLOB e non il BLOB stesso.Specificare questa intestazione solo per una richiesta rispetto alla risorsa BLOB di base. Se questa intestazione viene specificata in una richiesta per eliminare un singolo snapshot, l'archiviazione BLOB restituisce il codice di stato 400 (richiesta non valida). Se questa intestazione non è specificata nella richiesta e il BLOB ha associato snapshot, l'archiviazione BLOB restituisce il codice di stato 409 (Conflitto). |
x-ms-client-request-id |
facoltativo. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando la registrazione è configurata. È consigliabile usare questa intestazione per correlare le attività lato client con le richieste ricevute dal server. Per altre informazioni, vedere Monitorare Archiviazione BLOB di Azure. |
Questa operazione supporta anche l'utilizzo delle intestazioni condizionali per eliminare il Blob solo se viene soddisfatta una determinata condizione. Per altre informazioni, vedere Specifica delle intestazioni condizionali per le operazioni di archiviazione BLOB.
Testo della richiesta
Nessuno.
Risposta
Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.
Codice stato
Un'operazione completata correttamente restituisce il codice di stato 202 (Accettato). Per informazioni sui codici di stato, vedere Codici di stato e di errore.
Intestazioni di risposta
Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; La risposta può includere anche intestazioni HTTP aggiuntive e standard. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.
Intestazione risposta | Descrizione |
---|---|
x-ms-request-id |
Questa intestazione identifica in modo univoco la richiesta effettuata e può essere usata per la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risoluzione dei problemi relativi alle operazioni api. |
x-ms-version |
Indica la versione dell'archiviazione BLOB usata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate nella versione 2009-09-19 e successive. |
x-ms-delete-type-permanent |
Per la versione 2017-07-29 e successiva, l'archiviazione BLOB restituisce true se il BLOB è stato eliminato definitivamente e false se il BLOB è stato eliminato in modo permanente. |
Date |
Valore di data/ora UTC che indica l'ora in cui è stata avviata la risposta. Il servizio genera questo valore. |
x-ms-client-request-id |
È possibile usare questa intestazione per risolvere le richieste e le risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id , se presente nella richiesta. Il valore è al massimo 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non sarà presente nella risposta. |
Autorizzazione
L'autorizzazione è necessaria quando si chiama qualsiasi operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione Delete Blob
come descritto di seguito.
Importante
Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre una maggiore sicurezza e facilità d'uso rispetto all'autorizzazione di chiave condivisa.
Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta relativa al servizio BLOB.
Per altre informazioni sull'autorizzazione usando Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.
Autorizzazioni
Di seguito è riportata l'azione RBAC necessaria per un utente Microsoft Entra, un gruppo, un gruppo, un'identità gestita o un'entità servizio per chiamare l'operazione Delete Blob
e il ruolo di controllo degli accessi in base al ruolo predefinito di Azure con privilegi minimi che include questa azione:
- Azione RBAC di Azure:Microsoft.Storage/storageAccounts/BLOBServices/containers/BLOBs/delete
- Ruolo predefinito con privilegi minimi:Collaboratore ai dati BLOB di archiviazione
Per altre informazioni sull'assegnazione dei ruoli tramite controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.
Commenti
Se il Blob presenta un lease attivo, il client deve specificare un ID lease valido nella richiesta per eliminarlo.
Se un BLOB ha un numero elevato di snapshot, è possibile che l'operazione Delete Blob
venga timeout. In questo caso, il client deve ripetere la richiesta.
Per la versione 2013-08-15 e versioni successive, il client può chiamare Delete Blob
per eliminare i BLOB non inviati. Un BLOB non generato è un BLOB creato con chiamate all'operazione Put Block , ma non viene mai eseguito il commit usando l'operazione Put Block List . Nelle versioni precedenti il client deve eseguire il commit del BLOB prima di eliminarlo.
Funzionalità di eliminazione temporanea disabilitata
Quando un BLOB viene eliminato correttamente, viene rimosso immediatamente dall'indice dell'account di archiviazione e non è più accessibile ai client.
Funzionalità di eliminazione temporanea abilitata
Quando un BLOB viene eliminato correttamente, viene eliminato in modo leggero e non è più accessibile ai client. Archiviazione BLOB mantiene il BLOB o lo snapshot per il numero di giorni specificati per la DeleteRetentionPolicy
proprietà di Archiviazione BLOB. Per informazioni sulla lettura delle proprietà di archiviazione BLOB, vedere Impostare le proprietà di archiviazione BLOB.
Dopo il numero specificato di giorni, i dati del BLOB vengono rimossi dal servizio. È possibile accedere a un BLOB o uno snapshot eliminati temporanea chiamando l'operazione List BLOBs e specificando l'opzione include=deleted
.
È possibile ripristinare BLOB o snapshot eliminati in modo leggero usando Undelete BLOB. Per qualsiasi altra operazione su BLOB o snapshot eliminati temporanea, l'archiviazione BLOB restituisce l'errore 404 (risorsa non trovata).
Eliminazione permanente
Con la versione 2020-02-10 e versioni successive, è possibile eliminare definitivamente uno snapshot o una versione eliminata in modo permanente. A tale scopo, si abilita la funzionalità. Per altre informazioni, vedere Impostare le proprietà di archiviazione BLOB.
Nota
L'account di archiviazione deve disporre di versioni o snapshot abilitati. L'eliminazione temporanea deve essere abilitata anche nell'account di archiviazione per eliminare le versioni o gli snapshot dei BLOB nell'account. Elimina definitivamente solo snapshot o versioni eliminati in modo permanente.
Gli account di archiviazione con eliminazione permanente abilitata possono usare il deletetype=permanent
parametro di query per eliminare definitivamente uno snapshot eliminato o una versione blob eliminata definitivamente.
Se il parametro di query presenta uno degli elementi seguenti, l'archiviazione BLOB restituisce un errore 409 (conflitto):
- La funzionalità di eliminazione permanente non è abilitata per l'account di archiviazione.
- Né
versionid
snapshot
sono forniti né. - Lo snapshot o la versione specificati non vengono eliminati.
L'eliminazione permanente include anche un'autorizzazione di firma di accesso condiviso per eliminare definitivamente uno snapshot o una versione BLOB. Per altre informazioni, vedere Create una firma di accesso condiviso del servizio.
Fatturazione
Gli account di archiviazione non vengono addebitati per Delete Blob
le richieste.
Vedi anche
Autorizzare le richieste ad Archiviazione di Azure