Freigeben über


Erste Schritte mit Azure Blob Storage und Java

In diesem Artikel erfahren Sie, wie Sie mithilfe der Azure Blob Storage-Clientbibliothek für Java eine Verbindung mit Azure Blob Storage herstellen. Nach der Verbindung kann Ihr Code Container, Blobs und Features des Blob Storage-Diensts verwenden.

API-Referenz | Paket (Maven) | Bibliotheksquellcode | Beispiele | Feedback geben

Voraussetzungen

Einrichten des Projekts

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.

Verwenden Sie Maven, um eine neue Konsolen-App zu erstellen oder ein vorhandenes Projekt zu öffnen. Führen Sie die folgenden Schritte zum Installieren von Paketen und Hinzufügen der erforderlichen import-Anweisungen aus.

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.

BOM-Datei einfügen

Fügen Sie azure-sdk-bom hinzu, um eine Abhängigkeit von der neuesten Version der Bibliothek herzustellen. Ersetzen Sie im folgenden Codeausschnitt den Platzhalter {bom_version_to_target} durch die Versionsnummer. Indem Sie azure-sdk-bom verwenden, müssen Sie nicht die Version jeder einzelnen Abhängigkeit angeben. Weitere Informationen zur BOM finden Sie in der Azure SDK-BOM-Infodatei.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-sdk-bom</artifactId>
            <version>{bom_version_to_target}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Fügen Sie der Gruppe der Abhängigkeiten das folgende Abhängigkeitselement hinzu: Die azure-identity-Abhängigkeit wird für kennwortlose Verbindungen mit Azure-Diensten benötigt.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
</dependency>

Einbeziehen einer direkten Abhängigkeit

Zur Übernahme der Abhängigkeit von einer bestimmten Version der Bibliothek fügen Sie Ihrem Projekt die direkte Abhängigkeit hinzu:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>{package_version_to_target}</version>
</dependency>
<dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-common</artifactId>
      <version>{package_version_to_target}</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{package_version_to_target}</version>
</dependency>

Einbeziehen von Importanweisungen

Öffnen Sie dann Ihre Codedatei, und fügen Sie die erforderlichen import-Anweisungen hinzu. In diesem Beispiel fügen Sie die folgenden Anweisungen in der Datei App.java hinzu:

import com.azure.core.credential.*;
import com.azure.identity.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import com.azure.storage.blob.specialized.*;
import com.azure.storage.common.*;

Informationen zur Blob-Clientbibliothek:

Autorisieren des Zugriffs und Herstellen einer Verbindung mit Blob Storage

Um eine Verbindung eine Anwendung mit Blob Storage herzustellen, erstellen Sie eine Instanz der BlobServiceClient-Klasse. Sie können auch die BlobServiceAsyncClient-Klasse für asynchrone Programmierung verwenden. Dieses Objekt ist Ihr Ausgangspunkt für die Interaktion mit Datenressourcen auf Speicherkontoebene. Sie können es verwenden, um das Speicherkonto und seine Container zu verwenden. Sie können den Dienstclient auch verwenden, um Containerclients oder Blobclients zu erstellen, je nachdem, mit welcher Ressource Sie arbeiten müssen.

Weitere Informationen zum Erstellen und Verwalten von Clientobjekten finden Sie unter Erstellen und Verwalten von Clientobjekten, die mit Datenressourcen interagieren.

Sie können ein BlobServiceClient-Objekt mithilfe eines Microsoft Entra-Autorisierungstokens, eines Kontozugriffsschlüssels oder einer freigegebenen Zugriffssignatur (SHARED Access Signature, SAS) autorisieren. Um optimale Sicherheit zu gewährleisten, empfiehlt Microsoft möglichst die Verwendung von Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen für Blobdaten zu autorisieren. Weitere Informationen finden Sie unter Autorisieren des Zugriffs auf Blobs mit Microsoft Entra ID.

Um mit Microsoft Entra-ID zu autorisieren, müssen Sie einen Sicherheitsprinzipalverwenden. Welche Art von Sicherheitsprinzipal Sie benötigen, hängt davon ab, wo Ihre Anwendung ausgeführt wird. Verwenden Sie die folgende Tabelle als Richtlinie:

Ausführungsort der Anwendung Sicherheitsprinzipal Leitfaden
Lokaler Computer (Entwickeln und Testen) Dienstprinzipal Informationen zum Registrieren der App, zum Einrichten einer Microsoft Entra-Gruppe, zum Zuweisen von Rollen und zum Konfigurieren von Umgebungsvariablen finden Sie unter Zugriff über Entwicklerdienstprinzipien autorisieren.
Lokaler Computer (Entwickeln und Testen) Benutzeridentität Informationen zum Einrichten einer Microsoft Entra-Gruppe, zum Zuweisen von Rollen und zum Anmelden bei Azure finden Sie unter Zugriff mit Entwickleranmeldeinformationen autorisieren.
In Azure gehostet Verwaltete Identität Informationen zum Aktivieren einer verwalteten Identität und zum Zuweisen von Rollen finden Sie unter Autorisieren des Zugriffs von in Azure gehosteten Apps mithilfe einer verwalteten Identität.
Außerhalb von Azure gehostet (z. B. lokale Apps) Dienstprinzipal Informationen zum Registrieren der App, zum Zuweisen von Rollen und zum Konfigurieren von Umgebungsvariablen finden Sie unter Authenticate to Azure resources from Python apps hosted on-premises (Authentifizieren bei Azure-Ressourcen mit lokal gehosteten Python-Apps).

Autorisieren des Zugriffs mithilfe von DefaultAzureCredential

Eine einfache und sichere Möglichkeit zum Autorisieren des Zugriffs und zum Herstellen einer Verbindung mit Blob Storage ist das Abrufen eines OAuth-Tokens durch Erstellung einer DefaultAzureCredential-Instanz. Anschließend können Sie mithilfe dieser Anmeldeinformationen ein BlobServiceClient-Objekt erstellen.

Stellen Sie sicher, dass Sie über die richtigen Abhängigkeiten in „pom.xml“ und über die notwendigen Anweisungen verfügen, die im Abschnitt Einrichten Ihres Projekts beschrieben sind.

Im folgenden Beispiel wird BlobServiceClientBuilder verwendet, um ein BlobServiceClient-Objekt mit DefaultAzureCredential zu erstellen:

public static BlobServiceClient GetBlobServiceClientTokenCredential() {
    TokenCredential credential = new DefaultAzureCredentialBuilder().build();

    // 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(credential)
            .buildClient();

    return blobServiceClient;
}

Erstellen Ihrer Anwendung

Wenn Sie Anwendungen für die Arbeit mit Datenressourcen in Azure Blob Storage erstellen, interagiert Ihr Code primär mit drei Ressourcentypen: Speicherkonten, Container und Blobs. Weitere Informationen zu diesen Ressourcentypen, deren Beziehung zueinander und zur Interaktion von Apps mit Ressourcen finden Sie unter Grundlegendes zur Interaktion von Apps mit Blob Storage-Datenressourcen.

In den folgenden Leitfäden wird Ihnen gezeigt, wie Sie mit Datenressourcen arbeiten und bestimmte Aktionen mithilfe der Azure Storage-Clientbibliothek für Java ausführen:

Handbuch BESCHREIBUNG
Container erstellen Erstellen von Containern.
Löschen und Wiederherstellen von Containern Löschen von Containern und Wiederherstellen gelöschter Container, für die vorläufiges Löschen aktiviert ist.
Auflisten von Containern Auflisten von Containern in einem Konto und der verschiedenen verfügbaren Optionen zum Anpassen einer Auflistung.
Verwalten von Eigenschaften und Metadaten (Container) Abrufen und Festlegen von Eigenschaften und Metadaten für Container.
Erstellen und Verwalten von Containerleases Richten Sie eine Sperre für einen Container ein, und verwalten Sie sie.
Erstellen und Verwalten von Blobleases Richten Sie eine Sperre für ein Blob ein, und verwalten Sie sie.
Hochladen von Blobs Erfahren Sie, wie Sie Blobs mithilfe von Zeichenfolgen, Streams, Dateipfaden und anderen Methoden hochladen.
Herunterladen von Blobs Herunterladen von Blobs mithilfe von Zeichenfolgen, Streams und Dateipfaden.
Kopieren von Blobs Kopieren Sie ein Blob von einem Speicherort an einen anderen.
Auflisten von Blobs Auflisten von Blobs auf unterschiedliche Weise.
Löschen und Wiederherstellen Löschen von Blobs und Wiederherstellen gelöschter Blobs, wenn das vorläufige Löschen aktiviert ist.
Suchen von Blobs mithilfe von Tags Festlegen und Abrufen von Tags sowie Verwendung von Tags zum Suchen von Blobs.
Verwalten von Eigenschaften und Metadaten (Blobs) Abrufen und Festlegen von Eigenschaften und Metadaten für Blobs.
Festlegen oder Ändern der Zugriffsebene eines Blobs Legen Sie die Zugriffsebene für ein Blockblob fest, oder ändern Sie sie.