Správa vlastností kontejneru a metadat pomocí Javy
Kontejnery objektů blob podporují systémové vlastnosti a uživatelsky definovaná metadata kromě dat, která obsahují. Tento článek ukazuje, jak spravovat vlastnosti systému a uživatelsky definovaná metadata pomocí klientské knihovny azure Storage pro Javu.
Požadavky
- Předplatné Azure – vytvoření bezplatného předplatného
- Účet úložiště Azure – Vytvoření účtu úložiště
- Sada Java Development Kit (JDK) verze 8 nebo novější (pro zajištění co nejlepšího prostředí doporučujeme verzi 17)
- Apache Maven se používá pro řízení projektů v tomto příkladu.
Nastavení prostředí
Pokud nemáte existující projekt, v této části se dozvíte, jak nastavit projekt pro práci s klientskou knihovnou Azure Blob Storage pro Javu. Další informace najdete v tématu Začínáme se službou Azure Blob Storage a Javou.
Pokud chcete pracovat s příklady kódu v tomto článku, nastavte projekt pomocí následujícího postupu.
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.
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.
Přidání příkazů importu
Přidejte následující příkazy import
:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import java.util.*;
Autorizace
Autorizační mechanismus musí mít potřebná oprávnění pro práci s vlastnostmi kontejneru nebo metadaty. K autorizaci pomocí Microsoft Entra ID (doporučeno) potřebujete k operacím získání integrovanou roli Storage Blob Data Reader nebo vyšší roli Azure RBAC a přispěvatel dat objektů blob služby Storage nebo vyšší pro nastavené operace. Další informace najdete v pokynech k autorizaci pro získání vlastností kontejneru (REST API), nastavení metadat kontejneru (REST API) nebo získání metadat kontejneru (REST API).
Vytvoření objektu klienta
Pokud chcete připojit aplikaci ke službě Blob Storage, vytvořte instanci BlobServiceClient.
Následující příklad používá BlobServiceClientBuilder k sestavení BlobServiceClient
objektu pomocí DefaultAzureCredential
a 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>");
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.
O vlastnostech a metadatech
Vlastnosti systému: Systémové vlastnosti existují pro každý prostředek blob Storage. Některé z nich můžou být přečtené nebo nastavené, zatímco jiné jsou jen pro čtení. Některé systémové vlastnosti na pozadí odpovídají určitým standardním hlavičkám HTTP. Klientská knihovna Azure Storage pro Javu tyto vlastnosti udržuje za vás.
Uživatelsky definovaná metadata: Uživatelsky definovaná metadata se skládají z jednoho nebo více párů název-hodnota, které zadáte pro prostředek úložiště objektů blob. Metadata můžete použít k uložení dalších hodnot s prostředkem. Hodnoty metadat jsou určené jenom pro vaše vlastní účely a nemají vliv na chování prostředku.
Páry názvů a hodnot metadat jsou platné hlavičky HTTP a měly by dodržovat všechna omezení, která se řídí hlavičkami HTTP. Další informace opožadavch
Načtení vlastností kontejneru
K načtení vlastností kontejneru použijte následující metodu:
Následující příklad kódu načte systémové vlastnosti kontejneru a zapíše hodnoty vlastností do okna konzoly:
public void getContainerProperties(BlobContainerClient blobContainerClient) {
BlobContainerProperties properties = blobContainerClient.getProperties();
System.out.printf("Public Access Type: %s, Legal Hold? %b, Immutable? %b%n",
properties.getBlobPublicAccess(),
properties.hasLegalHold(),
properties.hasImmutabilityPolicy());
}
Nastavení a načtení metadat
Metadata můžete zadat jako jeden nebo více párů název-hodnota v objektu blob nebo prostředku kontejneru. K nastavení metadat použijte následující metodu:
Nastavení metadat kontejneru přepíše všechna existující metadata přidružená ke kontejneru. Individuální dvojici název-hodnota není možné upravit.
Následující příklad kódu nastaví metadata v kontejneru:
public void addContainerMetadata(BlobContainerClient blobContainerClient) {
Map<String, String> metadata = new HashMap<String, String>();
metadata.put("docType", "text");
metadata.put("category", "reference");
try {
blobContainerClient.setMetadata(metadata);
System.out.printf("Set metadata completed %n");
} catch (UnsupportedOperationException error) {
System.out.printf("Failure while setting metadata %n");
}
}
Pokud chcete načíst metadata, zavolejte následující metodu:
Následující příklad načte hodnoty metadat:
public void readContainerMetadata(BlobContainerClient blobContainerClient) {
BlobContainerProperties properties = blobContainerClient.getProperties();
System.out.printf("Container metadata: %n");
properties.getMetadata().entrySet().forEach(metadataItem -> {
System.out.printf(" %s = %s%n", metadataItem.getKey(), metadataItem.getValue());
});
}
Zdroje informací
Další informace o nastavení a načítání vlastností kontejneru a metadat pomocí klientské knihovny služby Azure Blob Storage pro Javu najdete v následujících zdrojích informací.
Ukázky kódu
Operace rozhraní REST API
Sada Azure SDK pro Javu obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat Javy. Metody klientské knihovny pro nastavení a načítání vlastností a metadat používají následující operace rozhraní REST API:
- Získání vlastností kontejneru (REST API)
- Nastavení metadat kontejneru (REST API)
- Získání metadat kontejneru (REST API)
Metoda getProperties
načte vlastnosti kontejneru a metadata voláním operace Get Blob Properties a Get Blob Metadata operace.
Prostředky klientské knihovny
Související obsah
- Tento článek je součástí příručky pro vývojáře služby Blob Storage pro Javu. Další informace najdete v úplném seznamu článků příručky pro vývojáře na webu Sestavení aplikace v Javě.