Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak usuwać kontenery za pomocą biblioteki klienta usługi Azure Storage dla języka Java. Jeśli włączono miękkie usuwanie kontenera, możesz przywrócić usunięte kontenery.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Konto usługi Azure Storage — utwórz konto magazynowe
- Zestaw Java Development Kit (JDK) w wersji 8 lub nowszej (zalecamy wersję 17, aby uzyskać najlepsze środowisko)
- Narzędzie Apache Maven jest używane do zarządzania projektami w tym przykładzie
Konfigurowanie środowiska
Jeśli nie masz istniejącego projektu, w tej sekcji pokazano, jak skonfigurować projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla języka Java. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i Java.
Aby pracować z przykładami kodu w tym artykule, wykonaj następujące kroki, aby skonfigurować projekt.
Uwaga
W tym artykule użyto narzędzia kompilacji maven do skompilowania i uruchomienia przykładowego kodu. Inne narzędzia kompilacji, takie jak Gradle, współpracują również z zestawem Azure SDK dla języka Java.
Instalowanie pakietów
pom.xml Otwórz plik w edytorze tekstów. Zainstaluj pakiety, dołączając plik BOM lub uwzględniając bezpośrednią zależność.
Dodaj instrukcje importu
Dodaj następujące instrukcje import:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
Autoryzacja
Mechanizm autoryzacji musi mieć niezbędne uprawnienia do usuwania lub przywracania kontenera. Aby uzyskać autoryzację przy użyciu identyfikatora Entra firmy Microsoft (zalecane), potrzebujesz wbudowanej roli Azure RBAC Storage Blob Data Contributor lub wyższej. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dotyczące usuwania kontenera (interfejsu API REST) i przywracania kontenera (interfejs API REST).
Tworzenie obiektu klienta
Aby połączyć aplikację z usługą Blob Storage, utwórz instancję BlobServiceClient.
W poniższym przykładzie użyto BlobServiceClientBuilder do zbudowania BlobServiceClient obiektu przy użyciu DefaultAzureCredential, i pokazano, jak utworzyć klientów do kontenerów i blobów, w razie potrzeby.
// 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>");
Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.
Usuwanie kontenera
Aby usunąć kontener w języku Java, użyj jednej z następujących metod z BlobServiceClient klasy :
Kontener można również usunąć przy użyciu jednej z następujących metod z BlobContainerClient klasy :
- usuwanie
- deleteIfExists (usuń jeśli istnieje)
Po usunięciu kontenera nie można utworzyć kontenera o tej samej nazwie przez co najmniej 30 sekund. Próba utworzenia kontenera o tej samej nazwie zakończy się niepowodzeniem z kodem 409 (Conflict)błędu HTTP . Wszelkie inne operacje na kontenerze lub zawartych w nim obiektach blob nie powiodą się z kodem błędu HTTP 404 (Not Found).
W poniższym przykładzie użyto BlobServiceClient obiektu do usunięcia określonego kontenera:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
W poniższym przykładzie pokazano, jak usunąć wszystkie kontenery rozpoczynające się od określonego prefiksu:
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();
}
}
Przywracanie usuniętego kontenera
Po włączeniu miękkiego usunięcia kontenera w przypadku konta magazynowego, usunięty kontener i jego zawartość mogą zostać odzyskane w określonym okresie retencji. Aby dowiedzieć się więcej na temat miękkiego usuwania kontenera, zobacz Włączanie i zarządzanie miękkim usuwaniem dla kontenerów. Można przywrócić tymczasowo usunięty kontener, wywołując następującą metodę klasy BlobServiceClient.
Poniższy przykład znajduje usunięty kontener, pobiera wersję usuniętego kontenera, a następnie przekazuje wersję do undeleteBlobContainer metody w celu przywrócenia kontenera.
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());
}
}
Zasoby
Aby dowiedzieć się więcej na temat usuwania kontenera przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka Java, zobacz następujące zasoby.
Przykłady kodu
Operacje interfejsu API REST
Zestaw Azure SDK dla języka Java zawiera biblioteki, które bazują na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka Java. Metody biblioteki klienta do usuwania lub przywracania kontenera używają następujących operacji interfejsu API REST:
- Usuwanie kontenera (interfejs API REST)
- Przywracanie kontenera (interfejs API REST)
Zasoby biblioteki klienta
Zobacz też
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla języka Java. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów w temacie Tworzenie aplikacji Java.