Udostępnij za pośrednictwem


Zarządzanie właściwościami i metadanymi kontenera za pomocą języka Java

Kontenery obiektów blob obsługują właściwości systemowe i metadane zdefiniowane przez użytkownika oprócz danych, które zawierają. W tym artykule pokazano, jak zarządzać właściwościami systemu i metadanymi zdefiniowanymi przez użytkownika za pomocą biblioteki klienta usługi Azure Storage dla języka Java.

Wymagania wstępne

Informacje o właściwościach i metadanych

  • Właściwości systemu: właściwości systemu istnieją w każdym zasobie usługi Blob Storage. Niektóre z nich mogą być odczytywane lub ustawiane, a inne są tylko do odczytu. W tle niektóre właściwości systemowe odpowiadają pewnym standardowym nagłówkom HTTP. Biblioteka klienta usługi Azure Storage dla języka Java obsługuje te właściwości.

  • Metadane zdefiniowane przez użytkownika: metadane zdefiniowane przez użytkownika składają się z co najmniej jednej pary nazwa-wartość określonej dla zasobu usługi Blob Storage. Za pomocą metadanych można przechowywać dodatkowe wartości z zasobem. Wartości metadanych są przeznaczone tylko do własnych celów i nie mają wpływu na zachowanie zasobu.

    Pary nazwa/wartość metadanych są prawidłowymi nagłówkami HTTP i powinny być zgodne ze wszystkimi ograniczeniami dotyczącymi nagłówków HTTP. Aby uzyskać więcej informacji na temat wymagań dotyczących nazewnictwa metadanych, zobacz Nazwy metadanych.

Pobieranie właściwości kontenera

Aby pobrać właściwości kontenera, użyj następującej metody:

Poniższy przykład kodu pobiera właściwości systemowe kontenera i zapisuje wartości właściwości w oknie konsoli:

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

Ustawianie i pobieranie metadanych

Metadane można określić jako jedną lub więcej par nazwa-wartość w zasobie obiektu blob lub kontenera. Aby ustawić metadane, użyj następującej metody:

Ustawienie metadanych kontenera zastępuje wszystkie istniejące metadane skojarzone z kontenerem. Nie można zmodyfikować pojedynczej pary nazwa-wartość.

Poniższy przykład kodu ustawia metadane w kontenerze:

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

Aby pobrać metadane, wywołaj następującą metodę:

Poniższy przykład odczytuje wartości metadanych:

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

Zasoby

Aby dowiedzieć się więcej na temat ustawiania i pobierania właściwości i metadanych kontenera przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka Java, zobacz następujące zasoby.

Operacje interfejsu API REST

Zestaw Azure SDK dla języka Java zawiera biblioteki, które bazują na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka Java. Metody biblioteki klienta do ustawiania i pobierania właściwości i metadanych używają następujących operacji interfejsu API REST:

Metoda getProperties pobiera właściwości kontenera i metadane, wywołując zarówno operację Pobierz właściwości obiektu blob, jak i operację Pobierz metadane obiektu blob.

Przykłady kodu

Zasoby biblioteki klienta