Erstellen eines Blobcontainers mit Java
Blobs in Azure Storage sind in Containern organisiert. Bevor Sie ein Blob hochladen können, müssen Sie zunächst einen Container erstellen. In diesem Artikel wird gezeigt, wie Container mit der Azure Storage-Clientbibliothek für Java erstellt werden.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Azure Storage-Konto – Erstellen eines Speicherkontos
- Java Development Kit (JDK) Version 8 oder höher (wir empfehlen Version 17 für optimale Benutzererfahrung)
- Für die Projektverwaltung wird in diesem Beispiel Apache Maven verwendet.
Erstellen Ihrer Umgebung
Wenn Sie nicht über ein vorhandenes Projekt verfügen, wird in diesem Abschnitt gezeigt, wie Sie ein Projekt für die Arbeit mit der Azure Blob Storage-Clientbibliothek für Java einrichten. Weitere Informationen finden Sie unter Erste Schritte mit Azure Blob Storage mit Java.
Um die Codebeispiele in diesem Artikel zu verwenden, führen Sie die folgenden Schritte zum Einrichten Ihres Projekts aus.
Hinweis
In diesem Artikel wird das Maven-Buildtool verwendet, um den Beispielcode zu erstellen und auszuführen. Andere Buildtools (beispielsweise Gradle) können ebenfalls mit dem Azure SDK für Java verwendet werden.
Installieren von Paketen
Öffnen Sie die Datei pom.xml
in Ihrem Text-Editor. Installieren Sie die Pakete durch Einbeziehen der BOM-Datei oder Einbeziehen einer direkten Abhängigkeit.
Hinzufügen von Importanweisungen
Fügen Sie die folgenden import
-Anweisungen ein:
import com.azure.storage.blob.*;
Autorisierung
Der Autorisierungsmechanismus muss über die erforderlichen Berechtigungen zum Erstellen eines Containers verfügen. Für die Autorisierung mit Microsoft Entra ID (empfohlen) benötigen Sie mindestens die integrierte Azure RBAC-Rolle Mitwirkender an Storage-Blobdaten. Weitere Informationen finden Sie im Autorisierungsleitfaden für Create Container (REST-API).
Erstellen eines Clientobjekts
Um eine App mit Blob Storage zu verbinden, erstellen Sie eine Instanz von BlobServiceClient.
Im folgenden Beispiel wird BlobServiceClientBuilder verwendet, um ein BlobServiceClient
-Objekt mithilfe von DefaultAzureCredential
zu erstellen, und zeigt, wie Container- und Blob-Clients erstellt werden, falls erforderlich:
// 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>");
Weitere Informationen zum Erstellen und Verwalten von Clientobjekten finden Sie unter Erstellen und Verwalten von Clientobjekten, die mit Datenressourcen interagieren.
Informationen zur Containerbenennung
Ein Containername muss ein gültiger DNS-Name sein, da er Teil des eindeutigen URI ist, der für die Adressierung des Containers oder seiner Blobs verwendet wird. Befolgen Sie diese Regeln, wenn Sie einen Container benennen:
- Containernamen können zwischen 3 und 63 Zeichen lang sein.
- Containernamen müssen mit einem Buchstaben oder einer Zahl beginnen und dürfen nur Kleinbuchstaben, Zahlen und Bindestriche (-) enthalten.
- Aufeinanderfolgende Bindestriche sind in Containernamen nicht zulässig.
Der URI für eine Containerressource ist wie folgt formatiert:
https://my-account-name.blob.core.windows.net/my-container-name
Container erstellen
Um einen Container zu erstellen, rufen Sie eine der folgenden Methoden in der BlobServiceClient
-Klasse auf:
Sie können einen Container auch mit einer der folgenden Methoden in der BlobContainerClient
-Klasse erstellen:
Container werden direkt unterhalb des Speicherkontos erstellt. Es ist nicht möglich, einen Container unter einem anderen Container zu schachteln. Für die Methoden create
und createBlobContainer
wird eine Ausnahme ausgelöst, wenn bereits ein gleichnamiger Container vorhanden ist.
Im folgenden Beispiel wird ein Container aus einem BlobServiceClient
-Objekt erstellt:
public BlobContainerClient createContainer(BlobServiceClient blobServiceClient, String containerName) {
// Create the container using the service client object
BlobContainerClient blobContainerClient = blobServiceClient.createBlobContainer(containerName);
return blobContainerClient;
}
Erstellen des Stammcontainers
Ein Stammcontainer dient als Standardcontainer für Ihr Speicherkonto. Jedes Speicherkonto kann über einen Stammcontainer verfügen, der den Namen $root tragen muss. Der Stammcontainer muss explizit erstellt oder gelöscht werden.
Sie können auf ein Blob verweisen, das im Stammcontainer gespeichert ist, ohne den Namen des Stammcontainers einzubeziehen. Der Stammcontainer ermöglicht das Verweisen auf ein Blob auf der obersten Ebene der Speicherkontohierarchie. Beispielsweise können Sie wie folgt auf ein Blob verweisen, das sich im Stammcontainer befindet:
https://accountname.blob.core.windows.net/default.html
Im folgenden Beispiel wird ein neues BlobContainerClient
-Objekt mit dem Containernamen „$root“ erstellt. Dann wird der Container erstellt, falls er nicht bereits im Speicherkonto vorhanden ist:
public void createRootContainer(BlobServiceClient blobServiceClient) {
// Creates a new BlobContainerClient object by appending the containerName to
// the end of the URI
BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("$root");
// If the container does not already exist, create it using the container client
blobContainerClient.createIfNotExists();
}
Ressourcen
Weitere Informationen zum Erstellen eines Containers mithilfe der Azure Blob Storage-Clientbibliothek für Java finden Sie in den folgenden Ressourcen.
Codebeispiele
REST-API-Vorgänge
Das SDK für Java enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren, und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute Java-Paradigmen. Die Clientbibliotheksmethoden zum Erstellen eines Containers verwenden den folgenden REST-API-Vorgang:
- Create Container (REST-API)
Ressourcen zur Clientbibliothek
Zugehöriger Inhalt
- Dieser Artikel ist Teil des Blob Storage-Entwicklerleitfadens für Java. Weitere Informationen finden Sie in der vollständigen Liste der Entwicklerleitfadenartikel unter Erstellen Ihrer Java-App.