Delen via


Containereigenschappen en metagegevens beheren met Java

Blob-containers ondersteunen systeemeigenschappen en door de gebruiker gedefinieerde metagegevens, naast de gegevens die ze bevatten. In dit artikel wordt beschreven hoe u systeemeigenschappen en door de gebruiker gedefinieerde metagegevens beheert met de Azure Storage-clientbibliotheek voor Java.

Vereisten

Over eigenschappen en metagegevens

  • Systeemeigenschappen: Systeemeigenschappen bestaan op elke Blob Storage-resource. Sommige kunnen worden gelezen of ingesteld, terwijl andere alleen-lezen zijn. Achter de schermen komen sommige systeemeigenschappen overeen met bepaalde standaard HTTP-headers. De Azure Storage-clientbibliotheek voor Java onderhoudt deze eigenschappen voor u.

  • Door de gebruiker gedefinieerde metagegevens: door de gebruiker gedefinieerde metagegevens bestaan uit een of meer naam-waardeparen die u opgeeft voor een Blob Storage-resource. U kunt metagegevens gebruiken om extra waarden op te slaan met de resource. Metagegevenswaarden zijn alleen bedoeld voor uw eigen doeleinden en hebben geen invloed op het gedrag van de resource.

    Naam/waardeparen van metagegevens zijn geldige HTTP-headers en moeten voldoen aan alle beperkingen voor HTTP-headers. Zie Namen van metagegevens voor meer informatie over naamgevingsvereisten voor metagegevens.

Containereigenschappen ophalen

Gebruik de volgende methode om containereigenschappen op te halen:

In het volgende codevoorbeeld worden de systeemeigenschappen van een container opgehaald en worden de eigenschapswaarden naar een consolevenster geschreven:

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

Metagegevens instellen en ophalen

U kunt metagegevens opgeven als een of meer naam-waardeparen op een blob of containerresource. Gebruik de volgende methode om metagegevens in te stellen:

Als u containermetagegevens instelt, worden alle bestaande metagegevens overschreven die aan de container zijn gekoppeld. Het is niet mogelijk om een afzonderlijk naam-waardepaar te wijzigen.

In het volgende codevoorbeeld worden metagegevens voor een container ingesteld:

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

Als u metagegevens wilt ophalen, roept u de volgende methode aan:

In het volgende voorbeeld worden metagegevenswaarden gelezen:

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

Resources

Zie de volgende resources voor meer informatie over het instellen en ophalen van containereigenschappen en metagegevens met behulp van de Azure Blob Storage-clientbibliotheek voor Java.

REST API-bewerkingen

De Azure SDK voor Java bevat bibliotheken die zijn gebaseerd op de Azure REST API, zodat u kunt communiceren met REST API-bewerkingen via bekende Java-paradigma's. De clientbibliotheekmethoden voor het instellen en ophalen van eigenschappen en metagegevens gebruiken de volgende REST API-bewerkingen:

De getProperties methode haalt containereigenschappen en metagegevens op door zowel de bewerking Blob-eigenschappen ophalen als de bewerking Blobmetagegevens ophalen aan te roepen.

Codevoorbeelden

Clientbibliotheekbronnen