刪除 Blob

Delete Blob 作業會標示要刪除的指定 Blob 或快照集。 Blob 稍後會在記憶體回收時刪除。

請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以利用 Delete Blob 作業,同時刪除這兩者。

要求

您可以建構 Delete Blob 要求,如下所示。 建議使用 HTTPS。 以記憶體帳戶的名稱取代 myaccount

DELETE 方法要求 URI 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

當您對模擬記憶體服務提出要求時,請將模擬器主機名和 Azure Blob 儲存體 埠指定為 127.0.0.1:10000,後面接著仿真的記憶體帳戶名稱。

DELETE 方法要求 URI HTTP 版本
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

如需詳細資訊,請參閱 使用 Azurite 模擬器進行本機 Azure 記憶體開發

URI 參數

您可以在要求 URI 上指定下列其他參數。

參數 描述
snapshot 選擇性。 快照集參數是不透明的 DateTime 值,當其存在時,會指定要刪除的 Blob 快照集。 如需使用 Blob 快照集的詳細資訊,請參閱 建立 Blob 的快照集。
versionid 選擇性版本 2019-12-12 和更新版本。 參數 versionid 是不透明的 DateTime 值,當存在時,會指定要刪除的 Blob 版本。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時
deletetype 選擇性版本 2020-02-10 或更新版本。 的值 deletetype 只能是 permanent

要求標頭

下表描述必要的和選用的要求標頭。

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有已授權要求都需要。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-lease-id:<ID> 如果 Blob 具有作用中租用,則為必要項目。

若要在具有作用中租用的 Blob 執行這項作業,請指定此標頭的有效租用識別碼。 如果未在要求上指定有效的租用標識符,作業會失敗,狀態代碼為 403 (禁止) 。
x-ms-delete-snapshots: {include, only} 如果 Blob 有相關聯的快照集,則為必要項目。 指定下列其中一個選項:

- include:刪除基底 Blob 及其所有快照集。
- only:只刪除 Blob 的快照集,而不是 Blob 本身。

僅針對基底 Blob 資源的要求指定此標頭。 如果在刪除個別快照集的要求上指定此標頭,Blob 記憶體會傳回狀態代碼 400 (不正確的要求) 。

如果未在要求上指定此標頭,且 Blob 具有相關聯的快照集,Blob 記憶體會傳回狀態代碼 409 (衝突) 。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體

唯有在符合指定條件的情況下,此作業也可支援使用條件式標頭刪除 Blob。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭

要求本文

無。

回應

回應包括 HTTP 狀態碼和一組回應標頭。

狀態碼

成功的作業會傳回狀態碼「202 (已接受)」。 如需狀態代碼的相關信息,請參閱 狀態和錯誤碼

回應標頭

這項作業的回應包括下列標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格

回應標頭 描述
x-ms-request-id 此標頭可唯一識別提出的要求,並可用於對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Blob 記憶體版本。 對 2009-09-19 及更新版本提出要求會傳回此標頭。
x-ms-delete-type-permanent 針對 2017-07-29 版和更新版本,Blob 記憶體會在 Blob 已永久刪除,以及 false Blob 已虛刪除時傳回true
Date UTC 日期/時間值,指出起始響應的時間。 服務會產生此值。
x-ms-client-request-id 您可以使用此標頭來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,則此標頭的值等於標頭的值 x-ms-client-request-id 。 此值最多為 1,024 個可見的 ASCII 字元。 x-ms-client-request-id如果要求中沒有標頭,此標頭將不會出現在回應中。

授權

在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Delete Blob 作業,如下所述。

Azure 記憶體支援使用 Microsoft Entra ID 來授權 Blob 數據的要求。 使用 Microsoft Entra ID,您可以使用 Azure 角色型存取控制 (Azure RBAC) 授與安全性主體的許可權。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體是由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 令牌。 權杖接著可以用來授權對 Blob 服務的要求。

若要深入瞭解使用 Microsoft Entra ID 授權,請參閱使用 Microsoft Entra ID 授權 Blob 的存取權。

權限

以下是 Microsoft Entra 使用者、群組或服務主體呼叫Delete Blob作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權內建 Azure RBAC 角色:

若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據

備註

如果 Blob 有作用中租用,用戶端必須在要求上指定有效的租用識別碼,才能刪除它。

如果 Blob 有大量的快照集,作業可能會 Delete Blob 逾時。如果發生這種情況,客戶端應該重試要求。

針對 2013-08-15 版和更新版本,用戶端可以呼叫 Delete Blob 以刪除未認可的 Blob。 未認可的 Blob 是使用對 Put Block 作業呼叫所建立的 Blob,但從未使用 Put Block List 作業認可。 若為舊版,用戶端必須先認可 Blob 才能將其刪除。

已停用虛刪除功能

成功刪除 Blob 時,它會立即從記憶體帳戶的索引中移除,而且客戶端無法再存取它。 稍後記憶體回收時,將會從服務中移除 Blob 的資料。

已啟用虛刪除功能

成功刪除 Blob 時,它會虛刪除,而且客戶端無法再存取它。 Blob 記憶體會針對 Blob 記憶體的 屬性所指定的 DeleteRetentionPolicy 天數保留 Blob 或快照集。 如需讀取 Blob 記憶體屬性的相關信息,請參閱 設定 Blob 記憶體屬性

在指定的天數之後,Blob 的數據會在垃圾收集期間從服務中移除。 您可以呼叫 列出 Blob 作業並指定 include=deleted 選項,以存取虛刪除的 Blob 或快照集。

您可以使用 取消刪除 Blob 來還原虛刪除的 Blob 或快照集。 對於虛刪除 Blob 或快照集的任何其他作業,Blob 記憶體會傳回錯誤 404 (找不到資源) 。

永久刪除

使用 2020-02-10 版和更新版本,您可以永久刪除虛刪除的快照集或版本。 若要這樣做,您可以啟用此功能。 如需詳細資訊,請參閱 設定 Blob 記憶體屬性

注意

記憶體帳戶必須啟用版本設定或快照集。 也必須在記憶體帳戶上啟用虛刪除,才能虛刪除帳戶中 Blob 的版本或快照集。 永久刪除只會刪除虛刪除的快照集或版本。

已啟用永久刪除的記憶體帳戶可以使用 deletetype=permanent 查詢參數,永久刪除虛刪除的快照集或刪除的 Blob 版本。

如果查詢參數顯示下列任一項,Blob 記憶體會傳回 409 錯誤, (Conflict) :

  • 儲存體帳戶未啟用永久刪除功能。
  • versionid也不會提供 或 snapshot
  • 指定的快照集或版本不會虛刪除。

永久刪除也包含永久刪除 Blob 快照集或 Blob 版本的共用存取簽章許可權。 如需詳細資訊,請參閱 建立服務 SAS

計費

記憶體帳戶不會針對 Delete Blob 要求收費。

另請參閱

授權對 Azure 記憶體的要求

狀態和錯誤碼

Blob 記憶體錯誤碼

取消刪除 Blob

列出 Blob