使用 Java 刪除和還原 Blob 容器
本文說明如何使用適用於 Java 的 Azure 儲存體用戶端程式庫來刪除容器。 如果您已啟用容器虛刪除,則可以還原已刪除的容器。
必要條件
- 本文會假設您已有專案設定好要使用適用於 Java 的 Azure Blob 儲存體用戶端程式庫。 若要了解如何設定專案,包括套件安裝、新增
import
指示詞以及建立授權的用戶端物件,請參閱開始使用 Azure 儲存體和 Java。 - 授權機制必須具有刪除 Blob 容器的權限,或還原虛刪除容器的權限。 若要深入了解,請參閱下列 REST API 作業的授權指導:
刪除容器
若要在 Java 中刪除容器,請使用 BlobServiceClient
類別中的下列方法之一:
您也可以使用 BlobContainerClient
類別中的下列方法之一來刪除容器:
當您刪除容器後,至少 30 秒內無法建立具有相同名稱的容器。 嘗試建立具有相同名稱的容器將會失敗,並出現 HTTP 錯誤碼 409 (Conflict)
。 對容器或其包含的 Blob 進行的任何其他作業都會失敗,並出現 HTTP 錯誤碼 404 (Not Found)
。
下列範例使用 BlobServiceClient
物件來刪除指定容器:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
下列範例顯示如何刪除以指定前置詞開頭的所有容器:
public void deleteContainersWithPrefix(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setPrefix("container-");
// Delete the container with the specified prefix using the service client
for (BlobContainerItem containerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerItem.getName());
containerClient.delete();
}
}
還原已刪除的容器
針對儲存體帳戶啟用容器虛刪除時,可以在指定的保留期間內復原已刪除的容器及其內容。 若要深入了解容器虛刪除,請參閱啟用及管理容器虛刪除。 透過呼叫 BlobServiceClient
類別的下列方法,可以還原已虛刪除的容器:
下列範例會尋找已刪除的容器、取得已刪除容器的版本,然後將版本傳遞至 undeleteBlobContainer
方法來還原容器。
public void restoreContainer(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions();
options.getDetails().setRetrieveDeleted(true);
// Delete the container with the specified prefix using the service client
for (BlobContainerItem deletedContainerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient
.undeleteBlobContainer(deletedContainerItem.getName(), deletedContainerItem.getVersion());
}
}
資源
若要深入了解如何使用適用於 Java 的 Azure Blob 儲存體用戶端程式庫刪除容器,請參閱下列資源。
REST API 操作
適用於 Java 的 Azure SDK 包含建置在 Azure REST API 上的程式庫,可讓您透過熟悉的 Java 範例與 REST API 作業進行互動。 用來刪除或還原容器的用戶端程式庫方法會使用下列 REST API 作業:
程式碼範例
- 檢視本文中的程式碼範例 (GitHub) (英文)
用戶端程式庫資源
- 用戶端程式庫參考文件
- 用戶端程式庫原始程式碼
- 套件 (Maven) \(英文\)
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應