Partager via


Définir des étiquettes d’objet blob

L’opération Set Blob Tags définit des balises définies par l’utilisateur pour l’objet blob spécifié sous la forme d’une ou de 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 demande 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 de balises, 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 requête, et non au contenu de l’objet blob lui-même.
x-ms-content-crc64 facultatif. 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 requête, 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 demande échoue avec le code d’erreur 400 (Requête 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 reçues par le serveur. 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 requête doit être un document XML UTF-8 bien formé et contenir un jeu de balises qui représente les balises pour l’objet blob.

Le jeu 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 de 1 à 128 caractères, et les valeurs d’étiquette doivent être comprises entre 0 et 256 caractères. Les caractères de clé de balise et de valeur 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 du 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 demandes et les 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.

Important

Microsoft recommande d’utiliser Microsoft Entra ID avec des identités managées pour autoriser les demandes à Stockage Azure. Microsoft Entra ID offre une sécurité et une facilité d’utilisation supérieures par rapport à l’autorisation de clé partagée.

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, une identité managée 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 accéder aux données 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 un 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’espace 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 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 balises. 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, le Stockage Blob retourne status code 400 (Requête incorrecte).

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent les API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes accumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture s’accumulent dans une catégorie de facturation différente de celle des transactions d’é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 tarification Stockage Blob Azure.

Voir aussi

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