Définir des étiquettes d’objet blob

L’opération Set Blob Tags définit les balises définies par l’utilisateur pour l’objet blob spécifié sous la forme d’une ou plusieurs paires clé-valeur.

Requête

La demande Set Blob Tags peut être construite comme indiqué ci-dessous. Nous vous recommandons d’utiliser HTTPS. Remplacez moncompte par le nom de votre compte de stockage :

URI de requête de méthode PUT Version HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags&versionid=<DateTime>
HTTP/1.1

Paramètres URI

Vous pouvez spécifier les paramètres supplémentaires suivants dans l’URI de requête :

Paramètre Description
versionid Facultatif pour les versions 2019-12-12 et ultérieures. Le versionid paramètre est une valeur opaque DateTime qui, lorsqu’elle est présente, spécifie la version de l’objet blob à récupérer.
timeout facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de stockage Blob.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
Content-Length Obligatoire. La longueur du contenu de la demande, en octets. Cet en-tête fait référence à la longueur du contenu du document d’étiquettes, et non à l’objet blob lui-même.
Content-Type Obligatoire. La valeur de cet en-tête doit être application/xml ; charset=UTF-8.
Content-MD5 facultatif. Un hachage MD5 du contenu de la demande. Ce hachage est utilisé pour vérifier l'intégrité du contenu de la demande pendant le transport. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte).

Cet en-tête est associé au contenu de la demande, et non au contenu de l’objet blob lui-même.
x-ms-content-crc64 facultatif. Un hachage CRC64 du contenu de la demande. Ce hachage est utilisé pour vérifier l'intégrité du contenu de la demande pendant le transport. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte).

Cet en-tête est associé au contenu de la demande, et non au contenu de l’objet blob lui-même.

Si les en-têtes Content-MD5 et x-ms-content-crc64 sont présents, la requête échoue avec le code d’erreur 400 (Demande incorrecte).
x-ms-lease-id:<ID> Obligatoire si l'objet blob a un bail actif.

Pour effectuer cette opération sur un objet blob avec un bail actif, spécifiez l'ID de bail valide pour cet en-tête. Si aucun ID de bail valide n’est spécifié sur la demande, l’opération échoue avec status code 403 (Interdit).
x-ms-client-request-id facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes que le serveur reçoit. Pour plus d’informations, consultez Surveiller Stockage Blob Azure.

Cette opération prend en charge l’en-tête x-ms-if-tags conditionnel pour définir des balises d’objet blob uniquement si une condition spécifiée est remplie. Pour plus d’informations, consultez Spécifier des en-têtes conditionnels pour les opérations de stockage Blob.

Corps de la demande

Le corps de la demande présente le format suivant :

<?xml version="1.0" encoding="utf-8"?>  
<Tags>  
    <TagSet>  
        <Tag>  
            <Key>tag-name-1</Key>  
            <Value>tag-value-1</Value>  
        </Tag>  
        <Tag>  
            <Key>tag-name-2</Key>  
            <Value>tag-value-2</Value>  
        </Tag>  
    </TagSet>  
</Tags>  

Le corps de la demande doit être un document XML UTF-8 bien formé et contenir un jeu d’étiquettes qui représente les balises de l’objet blob.

L’ensemble de balises ne peut pas contenir plus de 10 balises. Les clés et les valeurs d’étiquette sont sensibles à la casse. Les clés de balise doivent comporter entre 1 et 128 caractères, et les valeurs de balise doivent être comprises entre 0 et 256 caractères. Les caractères de clé et de valeur d’étiquette valides sont les suivants :

  • Minuscules et majuscules (a-z, A-Z)
  • Chiffres (0-9)
  • Un espace ( )
  • Plus (+), moins (-), point (.), barre oblique (/), deux-points (:), égal à (=) et trait de soulignement (_)

response

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Code d’état

Une opération réussie renvoie le code d'état 204 (Aucun contenu).

Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse Description
x-ms-request-id Identifie de manière unique la demande qui a été effectuée et peut être utilisée pour résoudre la demande. Pour plus d’informations, consultez Résoudre les problèmes liés aux opérations d’API.
x-ms-version Version de Stockage Blob utilisée pour exécuter la demande.
Date Valeur de date/heure UTC générée par le service, qui indique l’heure à laquelle la réponse a été lancée.
x-ms-client-request-id Peut être utilisé pour résoudre les problèmes liés aux demandes et aux réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse.

Response body

Aucun.

Autorisation

Une autorisation est requise lors de l’appel d’une opération d’accès aux données dans stockage Azure. Vous pouvez autoriser l’opération Set Blob Tags comme décrit ci-dessous.

Le Stockage Azure prend en charge l’utilisation de Microsoft Entra ID pour autoriser les demandes de données blob. Avec Microsoft Entra ID, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité. Le principal de sécurité peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée Azure. Le principal de sécurité est authentifié par Microsoft Entra ID pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une requête auprès du service BLOB.

Pour en savoir plus sur l’autorisation à l’aide de Microsoft Entra ID, consultez Autoriser l’accès aux objets blob à l’aide de Microsoft Entra ID.

Autorisations

Vous trouverez ci-dessous l’action RBAC nécessaire pour qu’un utilisateur, un groupe ou un principal de service Microsoft Entra appelle l’opérationSet Blob Tags, ainsi que le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :

Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour l’accès aux données d’objets blob.

Remarques

L’opération Set Blob Tags est prise en charge dans l’API REST version 2019-12-12 et ultérieure.

Pour les comptes avec l’espace de noms hiérarchique activé, l’opération Set Blob Tags n’est pas prise en charge, car les balises d’objets blob ne sont pas prises en charge pour les comptes d’espaces de noms hiérarchiques.

L’opération Set Blob Tags remplace toutes les balises existantes sur l’objet blob. Pour supprimer toutes les balises d’un objet blob, envoyez une Set Blob Tags requête avec un objet vide <TagSet>.

Cette opération ne met pas à jour l’ETag ou l’heure de la dernière modification de l’objet blob. Il est possible de définir des balises sur un objet blob archivé.

Le service de stockage maintient une cohérence forte entre un objet blob et ses étiquettes. Les modifications apportées aux balises d’objet blob sont immédiatement visibles pour les opérations suivantes Get Blob Tags sur l’objet blob. Toutefois, l’index secondaire est finalement cohérent. Les modifications apportées aux balises d’un objet blob peuvent ne pas être immédiatement visibles par les Find Blobs by Tags opérations.

Si une requête fournit des balises non valides, stockage Blob retourne status code 400 (requête incorrecte).

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent des API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes cumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture sont comptabilisées dans une catégorie de facturation différente de celle des transactions en écriture. Le tableau suivant montre la catégorie de facturation pour Set Blob Tags les demandes en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Définir des étiquettes d’objet blob Objet blob de blocs Premium
Usage général v2 Standard
Autres opérations
Définir des étiquettes d’objet blob Usage général v1 standard Opérations d’écriture

Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez Stockage Blob Azure Tarification.

Voir aussi

Gérer et rechercher des données de Stockage Blob avec des balises d’index d’objets blob
Autoriser les demandes à Stockage Azure
Codes d’état et d’erreur
Codes d’erreur Stockage Blob