Gérer les métadonnées et les propriétés de conteneur avec Java
Les conteneurs d’objets blob prennent en charge des propriétés système et des métadonnées définies par l’utilisateur, en plus des données qu’ils contiennent. Cet article explique comment gérer les propriétés système et les métadonnées définies par l’utilisateur avec la bibliothèque de client du Stockage Azure pour Java.
Prérequis
- Cet article suppose que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Stockage Blob Azure pour Java. Pour en savoir plus sur la configuration de votre projet, y compris l'installation du package, l'ajout de directives
import
et la création d'un objet client autorisé, consultez Premiers pas avec Stockage Microsoft Azure et Java. - Le mécanisme d'autorisation doit avoir des autorisations pour travailler avec les propriétés ou les métadonnées du conteneur. Pour plus d’informations, consultez les conseils d’autorisation pour les opérations d’API REST suivantes :
À propos des propriétés et des métadonnées
Propriétés système : des propriétés système s’appliquent à chaque ressource de Stockage Blob. Certaines d'entre elles peuvent être lues ou configurées, alors que d'autres sont en lecture seule. En arrière-plan, certaines propriétés système correspondent à certains en-têtes HTTP standard. La bibliothèque de client du Stockage Azure pour Java gère ces propriétés pour vous.
Métadonnées définies par l’utilisateur : ces métadonnées se composent d’une ou plusieurs paires nom/valeur, que vous spécifiez pour une ressource de stockage d’objets blob. Vous pouvez les utiliser pour stocker des valeurs supplémentaires avec la ressource. Les valeurs de métadonnées sont destinées à votre usage personnel et n’affectent pas le comportement de la ressource.
Les paires nom/valeur de métadonnées sont des en-têtes HTTP valides ; elles doivent donc respecter toutes les restrictions régissant les en-têtes HTTP. Pour plus d’informations sur les exigences de nommage des métadonnées, consultez Noms des métadonnées.
Récupérer les propriétés de conteneur
Pour récupérer les propriétés d’un conteneur, utilisez la méthode suivante :
L’exemple de code suivant récupère les propriétés système d’un conteneur et écrit les valeurs des propriétés dans une fenêtre de console :
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());
}
Définir et récupérer des métadonnées
Vous pouvez indiquer des métadonnées sous la forme de paires nom-valeur sur une ressource d’objet blob ou de conteneur. Pour définir les métadonnées, utilisez la méthode suivante :
La définition des métadonnées de conteneur remplace toutes les métadonnées existantes associées au conteneur. Il n'est pas possible de modifier une paire nom-valeur individuelle.
L’exemple de code suivant définit les métadonnées d’un conteneur :
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");
}
}
Pour récupérer des métadonnées, appelez la méthode suivante :
L’exemple suivant lit les valeurs de métadonnées :
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());
});
}
Ressources
Pour en savoir plus sur la définition et la récupération des propriétés de conteneur et des métadonnées à l’aide de la bibliothèque de client Stockage Blob Azure pour Java, consultez les ressources suivantes.
Opérations de l'API REST
Le Kit de développement logiciel (SDK) Azure pour Java contient des bibliothèques qui s'appuient sur l'API REST Azure, vous permettant d’interagir avec les opérations de l’API REST par le biais de paradigmes Java familiers. Les méthodes de la bibliothèque de client pour définir et récupérer des propriétés et des métadonnées utilisent les opérations d’API REST suivantes :
- Get Container Properties (API REST)
- Set Container Metadata (API REST)
- Get Container Metadata (API REST)
La méthode getProperties
récupère les propriétés et les métadonnées de conteneur en appelant à la fois l’opération Obtenir les propriétés d’un objet blob et l’opération Obtenir les métadonnées d’un objet blob.
Exemples de code
Ressources de bibliothèque cliente
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour