Začínáme se službou Azure Blob Storage a Javou

V tomto článku se dozvíte, jak se připojit ke službě Azure Blob Storage pomocí klientské knihovny azure Blob Storage pro Javu. Po připojení se pomocí příruček pro vývojáře dozvíte, jak váš kód funguje s kontejnery, objekty blob a funkcemi služby Blob Storage.

Pokud chcete začít s úplným příkladem, podívejte se na rychlý start: Klientská knihovna Azure Blob Storage pro Javu.

Referenční | balíček rozhraní API (Maven) | Ukázky | zdrojového kódu | knihovny zpětnou vazbu

Požadavky

Nastavení projektu

Poznámka:

Tento článek používá nástroj pro sestavení Maven k sestavení a spuštění ukázkového kódu. Další nástroje sestavení, jako je Gradle, také pracují se sadou Azure SDK pro Javu.

Pomocí Mavenu vytvořte novou konzolovou aplikaci nebo otevřete existující projekt. Podle těchto kroků nainstalujte balíčky a přidejte potřebné import direktivy.

Instalace balíčků

Otevřete soubor v textovém pom.xml editoru. Nainstalujte balíčky zahrnutím souboru kusovníku nebo zahrnutím přímé závislosti.

Zahrnutí souboru kusovníku

Přidejte azure-sdk-bom , abyste mohli využívat závislost na nejnovější verzi knihovny. V následujícím fragmentu {bom_version_to_target} kódu nahraďte zástupný symbol číslem verze. Použití azure-sdk-bom vám umožní určit verzi jednotlivých závislostí. Další informace o kusovníku najdete v souboru README pro Azure SDK.

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

Do skupiny závislostí přidejte následující prvky závislostí. Závislost azure-identity je potřebná pro připojení bez hesla ke službám 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>

Zahrnutí přímé závislosti

Pokud chcete závislosti na konkrétní verzi knihovny, přidejte do projektu přímou závislost:

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

Zahrnout direktivy importu

Pak otevřete soubor kódu a přidejte potřebné import direktivy. V tomto příkladu přidáme do souboru App.java následující direktivy:

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

Informace o klientské knihovně objektů blob:

Autorizace přístupu a připojení ke službě Blob Storage

Pokud chcete připojit aplikaci ke službě Blob Storage, vytvořte instanci třídy BlobServiceClient . K asynchronnímu programování můžete použít také třídu BlobServiceAsyncClient. Tento objekt je vaším výchozím bodem pro interakci s datovými prostředky na úrovni účtu úložiště. Můžete ho použít k provozu s účtem úložiště a jeho kontejnery. Klienta služby můžete také použít k vytvoření klientů kontejnerů nebo klientů objektů blob v závislosti na prostředku, se kterým potřebujete pracovat.

Další informace o vytváření a správě klientských objektů najdete v tématu Vytváření a správa klientských objektů, které pracují s datovými prostředky.

Objekt můžete autorizovat BlobServiceClient pomocí autorizačního tokenu Microsoft Entra, přístupového klíče účtu nebo sdíleného přístupového podpisu (SAS). Pro zajištění optimálního zabezpečení microsoft doporučuje Microsoft Entra ID se spravovanými identitami autorizovat požadavky na data objektů blob. Další informace naleznete v tématu Autorizace přístupu k objektům blob pomocí Microsoft Entra ID.

Pokud chcete autorizovat s ID Microsoft Entra, budete muset použít objekt zabezpečení. Jaký typ objektu zabezpečení potřebujete, závisí na tom, kde vaše aplikace běží. Jako vodítko použijte následující tabulku:

Kde aplikace běží Objekt zabezpečení Pokyny
Místní počítač (vývoj a testování) Instanční objekt Pokud chcete zjistit, jak aplikaci zaregistrovat, nastavte skupinu Microsoft Entra, přiřaďte role a nakonfigurujte proměnné prostředí, přečtěte si téma Autorizace přístupu pomocí instančních objektů pro vývojáře.
Místní počítač (vývoj a testování) Identita uživatele Informace o nastavení skupiny Microsoft Entra, přiřazení rolí a přihlášení k Azure najdete v tématu Autorizace přístupu pomocí přihlašovacích údajů vývojáře.
Hostované v Azure Spravovaná identita Informace o povolení spravované identity a přiřazování rolí najdete v tématu Autorizace přístupu z aplikací hostovaných v Azure pomocí spravované identity.
Hostované mimo Azure (například místní aplikace) Instanční objekt Informace o registraci aplikace, přiřazení rolí a konfiguraci proměnných prostředí najdete v tématu Autorizace přístupu z místních aplikací pomocí instančního objektu aplikace.

Autorizace přístupu pomocí DefaultAzureCredential

Snadným a bezpečným způsobem autorizace přístupu a připojení ke službě Blob Storage je získání tokenu OAuth vytvořením instance DefaultAzureCredential . Tyto přihlašovací údaje pak můžete použít k vytvoření objektu BlobServiceClient .

Ujistěte se, že máte v pom.xml správné závislosti a potřebné direktivy importu, jak je popsáno v tématu Nastavení projektu.

Následující příklad používá BlobServiceClientBuilder k sestavení BlobServiceClient objektu pomocí DefaultAzureCredentiala ukazuje, jak vytvořit kontejner a klienty objektů blob v případě potřeby:

// 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>");

Konfigurace hodnoty TTL JVM pro vyhledávání názvů DNS

Virtuální počítač Java (JVM) ukládá odpovědi z úspěšných vyhledávání názvů DNS za určité časové období, označované jako TTL (time-to-live). Výchozí hodnota TTL pro mnoho virtuálních počítačů JVM je -1, což znamená, že JVM ukládá odpověď do mezipaměti po neomezenou dobu nebo dokud se počítač JVM nerestartuje.

Vzhledem k tomu, že prostředky Azure používají položky názvu DNS, které se můžou změnit, doporučujeme nastavit hodnotu TTL JVM na 10 sekund. Tato konfigurace zajišťuje, že se aktualizovaná IP adresa prostředku vrátí s dalším dotazem DNS.

Pokud chcete změnit hodnotu TTL globálně pro všechny aplikace používající JVM, nastavte networkaddress.cache.ttl vlastnost v java.security souboru.

networkaddress.cache.ttl=10

Pro Javu 8 java.security se soubor nachází v $JAVA_HOME/jre/lib/security adresáři. Pro Javu 11 a vyšší se soubor nachází v $JAVA_HOME/conf/security adresáři.

Sestavte aplikaci

Při vytváření aplikací pro práci s datovými prostředky ve službě Azure Blob Storage váš kód primárně komunikuje se třemi typy prostředků: účty úložiště, kontejnery a objekty blob. Další informace otěchtoch materiálech najdete v tématu Vysvětlení způsobu interakce aplikací s datovými prostředky blob Storage.

Následující příručky ukazují, jak získat přístup k datům a provádět konkrétní akce pomocí klientské knihovny Azure Storage pro Javu:

Průvodce Popis
Konfigurace zásad opakování Implementujte zásady opakování pro klientské operace.
Kopírování objektů blob Zkopírujte objekt blob z jednoho umístění do druhého.
Vytvoření kontejneru Vytvořte kontejnery objektů blob.
Vytvoření SAS delegování uživatele Vytvořte SAS delegování uživatele pro kontejner nebo objekt blob.
Vytváření a správa zapůjčení objektů blob Vytvořte a spravujte zámek objektu blob.
Vytváření a správa zapůjčení kontejnerů Vytvořte a spravujte zámek kontejneru.
Odstranění a obnovení objektů blob Odstraňte objekty blob a pokud je povolené obnovitelné odstranění, obnovte odstraněné objekty blob.
Odstranění a obnovení kontejnerů Odstraňte kontejnery a pokud je povolené obnovitelné odstranění, obnovte odstraněné kontejnery.
Stažení objektů blob Stáhněte objekty blob pomocí řetězců, datových proudů a cest k souborům.
Vyhledání objektů blob pomocí značek Nastavte a načtěte značky a použijte značky k vyhledání objektů blob.
Výpis objektů blob Výpis objektů blob různými způsoby
Výpis kontejnerů Vypište kontejnery v účtu a různé možnosti, které můžete přizpůsobit výpis.
Správa vlastností a metadat (objektů blob) Získejte a nastavte vlastnosti a metadata pro objekty blob.
Správa vlastností a metadat (kontejnerů) Získejte a nastavte vlastnosti a metadata pro kontejnery.
Ladění výkonu pro přenosy dat Optimalizujte výkon operací přenosu dat.
Nastavení nebo změna úrovně přístupu objektu blob Nastavte nebo změňte úroveň přístupu pro objekt blob bloku.
Nahrání objektů blob Naučte se nahrávat objekty blob pomocí řetězců, datových proudů, cest k souborům a dalších metod.