Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede Java için Azure Depolama istemci kitaplığıyla kapsayıcıların nasıl silineceği gösterilmektedir. Kapsayıcı geçici silmeyi etkinleştirdiyseniz silinen kapsayıcıları geri yükleyebilirsiniz.
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Azure depolama hesabı - depolama hesabı oluşturma
- Java Development Kit (JDK) sürüm 8 veya üzeri (en iyi deneyim için sürüm 17'yi öneririz)
- Apache Maven bu örnekte proje yönetimi için kullanılır
Ortamınızı ayarlama
Mevcut bir projeniz yoksa, bu bölümde Java için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere bir projenin nasıl ayarlanacağı gösterilir. Daha fazla bilgi için bkz. Azure Blob Depolama ve Java'yı kullanmaya başlama.
Bu makaledeki kod örnekleriyle çalışmak için projenizi ayarlamak için bu adımları izleyin.
Not
Bu makalede, örnek kodu derlemek ve çalıştırmak için Maven derleme aracı kullanılmaktadır. Gradle gibi diğer derleme araçları da Java için Azure SDK ile çalışır.
Paketleri yükleme
pom.xml Dosyayı metin düzenleyicinizde açın. BOM dosyasını içererek veya doğrudan bağımlılığı dahil ederek paketleri yükleyin.
İçe aktarma ifadeleri ekle
Aşağıdaki import deyimlerini ekleyin:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
Yetkilendirme
Yetkilendirme mekanizması, kapsayıcıyı silmek veya geri yüklemek için gerekli izinlere sahip olmalıdır. Microsoft Entra ID ile yetkilendirme için (önerilir), Azure RBAC yerleşik rolü Storage Blob Verisi Katkıda Bulunan veya üzeri gerekir. Daha fazla bilgi edinmek için Kapsayıcı silme (REST API) ve Kapsayıcıyı Geri Yükleme (REST API) yetkilendirme kılavuzuna bakın.
İstemci nesnesi oluşturma
Bir uygulamayı Blob Depolama'ya bağlamak için bir BlobServiceClient örneği oluşturun.
Aşağıdaki örnek, BlobServiceClientBuilder kullanarak bir BlobServiceClient nesnesi oluşturur ve gerekirse kapsayıcı ile blob istemcilerinin nasıl oluşturulacağını gösterir:
// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<storage-account-name>.blob.core.windows.net/")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
.getBlobContainerClient("<container-name>");
// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
.getBlobClient("<blob-name>");
İstemci nesneleri oluşturma ve yönetme hakkında daha fazla bilgi edinmek için bkz . Veri kaynaklarıyla etkileşim kuran istemci nesneleri oluşturma ve yönetme.
Kapsayıcı silme
Java'da bir kapsayıcıyı silmek için sınıfından aşağıdaki yöntemlerden BlobServiceClient birini kullanın:
Aşağıdaki yöntemlerden birini BlobContainerClient sınıfından kullanarak bir kapsayıcıyı da silebilirsiniz.
Kapsayıcıyı sildikten sonra, en az 30 saniye boyunca aynı ada sahip bir kapsayıcı oluşturamazsınız. Aynı ada sahip bir kapsayıcı oluşturma girişimi HTTP hata koduyla 409 (Conflict)başarısız olur. Kapsayıcıdaki veya içerdiği bloblardaki diğer işlemler HTTP hata koduyla 404 (Not Found)başarısız olur.
Aşağıdaki örnek, belirtilen kapsayıcıyı silmek için bir BlobServiceClient nesnesi kullanır:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
Aşağıdaki örnekte, belirtilen ön ekle başlayan tüm kapsayıcıların nasıl silineceği gösterilmektedir:
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();
}
}
Silinen kapsayıcıyı geri yükleme
Depolama hesabı için kapsayıcı geçici silme etkinleştirildiğinde, silinen bir kapsayıcı ve içindekiler belirtilen saklama süresi içinde kurtarılabilir. Kapsayıcı yumuşak silme hakkında daha fazla bilgi edinmek için Kapsayıcılar için yumuşak silmeyi etkinleştirme ve yönetme bölümüne bakın.
BlobServiceClient sınıfının aşağıdaki yöntemini çağırarak geçici olarak silinmiş bir kapsayıcıyı geri yükleyebilirsiniz.
Aşağıdaki örnek, silinmiş bir kapsayıcıyı bulur, silinen kapsayıcının sürümünü alır ve ardından bu sürümü kullanarak kapsayıcıyı undeleteBlobContainer yöntemi ile geri yükler.
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());
}
}
Kaynaklar
Java için Azure Blob Depolama istemci kitaplığını kullanarak kapsayıcı silme hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
Kod örnekleri
REST API işlemleri
Java için Azure SDK, Azure REST API'sinin üzerinde derlenmiş kitaplıklar içerir ve tanıdık Java paradigmalarıyla REST API işlemleriyle etkileşim kurmanızı sağlar. Kapsayıcıyı silmek veya geri yüklemek için istemci kitaplığı yöntemleri aşağıdaki REST API işlemlerini kullanır:
- Kapsayıcıyı Sil (REST API)
- Kapsayıcıyı Geri Yükleme (REST API)
İstemci kitaplığı kaynakları
Ayrıca bkz.
İlgili içerik
- Bu makale, Java için Blob Depolama geliştirici kılavuzunun bir parçasıdır. Daha fazla bilgi edinmek için, Java uygulamanızı oluşturun bölümündeki geliştirici kılavuzu makalelerinin tam listesine bakın.