Rozpoczynanie pracy z usługą Azure Blob Storage i językiem Java

W tym artykule pokazano, jak nawiązać połączenie z usługą Azure Blob Storage przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka Java. Po nawiązaniu połączenia kod może działać na kontenerach, obiektach blob i funkcjach usługi Blob Storage.

Przykłady kodu | | źródłowego biblioteki źródłowej pakietu referencyjnego | interfejsu API (Maven) | Prześlij opinię

Wymagania wstępne

konfigurowanie projektu

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.

Użyj narzędzia Maven, aby utworzyć nową aplikację konsolową lub otworzyć istniejący projekt. Wykonaj następujące kroki, aby zainstalować pakiety i dodać niezbędne import dyrektywy.

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ść.

Uwzględnij plik BOM

Dodaj element azure-sdk-bom , aby pobrać zależność od najnowszej wersji biblioteki. W poniższym fragmencie kodu zastąp {bom_version_to_target} symbol zastępczy numerem wersji. Korzystanie z zestawu azure-sdk-bom uniemożliwia określenie wersji poszczególnych zależności. Aby dowiedzieć się więcej na temat modelu BOM, zobacz ARTYKUŁ README zestawu Azure SDK BOM.

<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>

Dodaj następujące elementy zależności do grupy zależności. Zależność azure-identity jest wymagana w przypadku połączeń bez hasła z usługami platformy Azure.

<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>

Uwzględnij zależność bezpośrednią

Aby podjąć zależność od określonej wersji biblioteki, dodaj bezpośrednią zależność do projektu:

<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>

Uwzględnij dyrektywy importu

Następnie otwórz plik kodu i dodaj niezbędne import dyrektywy. W tym przykładzie dodamy następujące dyrektywy w pliku App.java :

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.*;

Informacje o bibliotece klienta obiektów blob:

Autoryzowanie dostępu i nawiązywanie połączenia z usługą Blob Storage

Aby połączyć aplikację z usługą Blob Storage, utwórz wystąpienie klasy BlobServiceClient . Można również użyć klasy BlobServiceAsyncClient do programowania asynchronicznego. Ten obiekt jest punktem wyjścia do interakcji z zasobami danych na poziomie konta magazynu. Można go użyć do działania na koncie magazynu i jego kontenerach. Możesz również użyć klienta usługi, aby utworzyć klientów kontenerów lub klientów obiektów blob, w zależności od zasobu, z którym chcesz pracować.

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.

Obiekt można autoryzować BlobServiceClient przy użyciu tokenu autoryzacji entra firmy Microsoft, klucza dostępu do konta lub sygnatury dostępu współdzielonego (SAS).

Aby autoryzować za pomocą identyfikatora Entra firmy Microsoft, musisz użyć podmiotu zabezpieczeń. Typ wymaganego podmiotu zabezpieczeń zależy od tego, gdzie działa aplikacja. Skorzystaj z poniższej tabeli jako przewodnika:

Gdzie działa aplikacja Podmiot zabezpieczeń Wskazówki
Maszyna lokalna (programowanie i testowanie) Jednostka usługi Aby dowiedzieć się, jak zarejestrować aplikację, skonfigurować grupę Firmy Microsoft Entra, przypisać role i skonfigurować zmienne środowiskowe, zobacz Autoryzowanie dostępu przy użyciu jednostek usługi dewelopera.
Maszyna lokalna (programowanie i testowanie) Tożsamość użytkownika Aby dowiedzieć się, jak skonfigurować grupę entra firmy Microsoft, przypisać role i zalogować się na platformie Azure, zobacz Autoryzowanie dostępu przy użyciu poświadczeń dewelopera.
Hostowane na platformie Azure Tożsamość zarządzana Aby dowiedzieć się, jak włączyć tożsamość zarządzaną i przypisać role, zobacz Autoryzowanie dostępu z aplikacji hostowanych na platformie Azure przy użyciu tożsamości zarządzanej.
Hostowane poza platformą Azure (na przykład aplikacje lokalne) Jednostka usługi Aby dowiedzieć się, jak zarejestrować aplikację, przypisać role i skonfigurować zmienne środowiskowe, zobacz Autoryzowanie dostępu z aplikacji lokalnych przy użyciu jednostki usługi aplikacji

Autoryzowanie dostępu przy użyciu elementu DefaultAzureCredential

Łatwym i bezpiecznym sposobem autoryzowania dostępu i nawiązywania połączenia z usługą Blob Storage jest uzyskanie tokenu OAuth przez utworzenie wystąpienia DefaultAzureCredential . Następnie możesz użyć tego poświadczenia, aby utworzyć obiekt BlobServiceClient .

Upewnij się, że masz poprawne zależności w pom.xml i niezbędne dyrektywy importu, zgodnie z opisem w temacie Konfigurowanie projektu.

W poniższym przykładzie użyto obiektu BlobServiceClientBuilder do skompilowania BlobServiceClient obiektu przy użyciu polecenia DefaultAzureCredential:

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;
}

Kompilowanie aplikacji

Podczas tworzenia aplikacji do pracy z zasobami danych w usłudze Azure Blob Storage kod wchodzi głównie w interakcję z trzema typami zasobów: kontami magazynu, kontenerami i obiektami blob. Aby dowiedzieć się więcej o tych typach zasobów, sposobie ich powiązania ze sobą i sposobie interakcji aplikacji z zasobami, zobacz Omówienie sposobu interakcji aplikacji z zasobami danych usługi Blob Storage.

W poniższych przewodnikach pokazano, jak pracować z zasobami danych i wykonywać określone akcje przy użyciu biblioteki klienta usługi Azure Storage dla języka Java:

Przewodnik opis
Tworzenie kontenera Tworzenie kontenerów.
Usuwanie i przywracanie kontenerów Usuń kontenery, a jeśli włączono usuwanie nietrwałe, przywróć usunięte kontenery.
Wyświetlanie listy kontenerów Wyświetlanie listy kontenerów na koncie i różnych dostępnych opcji dostosowywania listy.
Zarządzanie właściwościami i metadanymi (kontenerami) Pobieranie i ustawianie właściwości i metadanych dla kontenerów.
Tworzenie dzierżaw kontenerów i zarządzanie nimi Ustanawianie blokady kontenera i zarządzanie nią.
Tworzenie dzierżaw obiektów blob i zarządzanie nimi Ustanów blokadę obiektu blob i zarządzaj nią.
Przekazywanie obiektów blob Dowiedz się, jak przekazywać obiekty blob przy użyciu ciągów, strumieni, ścieżek plików i innych metod.
Pobieranie obiektów blob Pobierz obiekty blob przy użyciu ciągów, strumieni i ścieżek plików.
Kopiowanie obiektów blob Skopiuj obiekt blob z jednej lokalizacji do innej.
Wyświetlanie listy obiektów blob Wyświetlanie listy obiektów blob na różne sposoby.
Usuwanie i przywracanie Usuń obiekty blob i jeśli włączono usuwanie nietrwałe, przywróć usunięte obiekty blob.
Znajdowanie obiektów blob przy użyciu tagów Ustawianie i pobieranie tagów oraz używanie tagów do znajdowania obiektów blob.
Zarządzanie właściwościami i metadanymi (obiektami blob) Pobieranie i ustawianie właściwości i metadanych dla obiektów blob.
Ustawianie lub zmienianie warstwy dostępu obiektu blob Ustaw lub zmień warstwę dostępu dla blokowego obiektu blob.