Définition des propriétés du service Blob

L’opération Set Blob Service Properties définit les propriétés du point de terminaison stockage Blob d’un compte de stockage, y compris les propriétés pour les Storage Analytics, les règles CORS (cross-origin resource sharing) et les paramètres de suppression réversible.

Vous pouvez également utiliser cette opération pour définir la version de la demande par défaut pour toutes les requêtes entrantes sur stockage Blob qui n’ont pas de version spécifiée.

Pour plus d’informations sur les règles CORS, consultez Prise en charge de CORS pour les services stockage Azure.

Requête

La demande Set Blob Service Properties peut être spécifiée comme suit. Nous vous recommandons d’utiliser HTTPS. Remplacez account-name par le nom de votre compte de stockage :

Méthode URI de demande Version HTTP
PUT https://account-name.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1

Notes

L’URI doit toujours inclure un caractère de barre oblique (/) pour séparer le nom d’hôte des parties de chemin d’accès et de requête de l’URI. Dans cette opération, la partie chemin d’accès de l’URI est vide.

Paramètres URI

Paramètre d’URI Description
restype=service&comp=properties Obligatoire. La combinaison des deux chaînes de requête est requise pour définir les propriétés de service de stockage.
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 de stockage 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.
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.

Corps de la demande

Le format du corps de la demande pour la version 2012-02-12 et les versions antérieures est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <Metrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Metrics>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  

Le format du corps de la demande pour la version 2013-08-15 et ultérieure est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  

Pour les versions 29-07-2017 et ultérieures, le format du corps de la demande est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>   
</StorageServiceProperties>  

Pour les versions 28-03-2018 et ultérieures, le format du corps de la demande est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

Pour les versions 2019-12-2012 et ultérieures, le format du corps de la demande est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verbs</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-separated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <DefaultIndexDocumentPath>absolute-path-of-the-default-index-page</DefaultIndexDocumentPath>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

À partir de la version 2013-08-15, vous pouvez appeler Set Blob Service Properties avec un ou plusieurs éléments racines spécifiés dans le corps de la demande. Les éléments racine incluent :

  • Logging
  • HourMetrics
  • MinuteMetrics
  • Scro
  • DefaultServiceVersion
  • DeleteRetentionPolicy : version 29-07-2017 et ultérieure
  • StaticWebsite : version 2018-03-28 et ultérieures

Il n’est plus nécessaire de spécifier chaque élément racine sur la demande. Si vous omettez un élément racine, les paramètres existants pour le service de cette fonctionnalité sont conservés. Toutefois, si vous spécifiez un élément racine, vous devez spécifier chaque élément enfant pour cet élément.

Le tableau suivant décrit les éléments du corps de la demande :

Nom de l'élément Description
Logging Facultatif à partir de la version 2013-08-15. Obligatoire pour les versions antérieures. Regroupe les paramètres de journalisation d'analyse Azure.
Métriques Obligatoire pour la version 2012-02-12 et les versions antérieures. Non applicable pour les versions 2013-08-15 et ultérieures. Regroupe les paramètres des métriques Azure Analytics, qui fournissent un résumé des statistiques de requête regroupées par API dans des agrégats horaires pour les objets blob.
HourMetrics Facultatif pour les versions 2013-08-15 et ultérieures ; non applicable aux versions antérieures. Regroupe les paramètres d’Azure Analytics HourMetrics , qui fournissent un résumé des statistiques de requête regroupées par API dans des agrégats horaires pour les objets blob.
MinuteMetrics Facultatif pour les versions 2013-08-15 et ultérieures ; non applicable aux versions antérieures. Regroupe les paramètres MinuteMetrics Azure Analytics, qui fournissent des statistiques de requête pour chaque minute pour les objets blob. Pour les versions antérieures à 2013-08-15, MinuteMetrics n’est pas inclus dans le corps de la réponse.
Version Obligatoire si les paramètres Journalisation, Metrics, HourMetrics ou MinuteMetrics sont spécifiés . La version de Storage Analytics à configurer.
Supprimer Obligatoire si les paramètres Journalisation, Metrics, HourMetrics ou MinuteMetrics sont spécifiés . S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes de suppression doivent être journalisées.
Lire Obligatoire si les paramètres Journalisation, Metrics, HourMetrics ou MinuteMetrics sont spécifiés . S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes de lecture doivent être journalisées.
Écrire Obligatoire si les paramètres Journalisation, Metrics, HourMetrics ou MinuteMetrics sont spécifiés . S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes d'écriture doivent être journalisées.
Activé Obligatoire. Indique si les métriques sont activées pour le stockage Blob.

Si la réplication géographique redondante avec accès en lecture est activée, les métriques primaires et secondaires sont collectées. Si la réplication géoredondante d’accès en lecture n’est pas activée, seules les métriques principales sont collectées.
IncludeAPIs Obligatoire uniquement si les métriques sont activées. S'applique uniquement à la configuration des métriques. Indique si les métriques doivent générer des statistiques de synthèse pour les opérations d'API appelées.
RetentionPolicy/Enabled Obligatoire. Indique si une stratégie de rétention est activée pour le service de stockage.
RetentionPolicy/Days Obligatoire uniquement si une stratégie de rétention est activée. Indique le nombre de jours pendant lesquels les métriques ou les données de journalisation doivent être conservées. Toutes les données antérieures à cette valeur sont supprimées. La valeur minimale que vous pouvez spécifier est 1 ; la plus grande valeur est 365 (un an).
RetentionPolicy/AllowPermanentDelete Facultatif, version 2020-02-10 et ultérieures. Vous permet d’activer la suppression permanente sur le compte de stockage. La valeur par défaut est false..
DefaultServiceVersion facultatif. Pour définir DefaultServiceVersion, appelez Set Blob Service Properties à l’aide de la version 2011-08-18 et ultérieure. DefaultServiceVersion indique la version par défaut à utiliser pour les requêtes adressées au Stockage Blob si la version d’une requête entrante n’est pas spécifiée. Les valeurs possibles incluent les versions 2008-10-27 et ultérieures. Pour plus d’informations sur les versions applicables, consultez Gestion des versions pour les services stockage Azure.

S’applique uniquement au stockage Blob.
Scro facultatif. L’élément Cors est pris en charge pour les versions 2013-08-15 et ultérieures. Regroupe toutes les règles CORS.

L’omission de ce groupe d’éléments ne remplace pas les paramètres CORS existants.
CorsRule facultatif. Spécifie une règle CORS pour le stockage Blob. Incluez jusqu'à cinq éléments CorsRule dans la requête. Si aucun élément CorsRule n’est inclus dans le corps de la requête, toutes les règles CORS sont supprimées et CORS est désactivé pour le stockage Blob.
AllowedOrigins Obligatoire si l’élément CorsRule est présent. Liste séparée par des virgules de domaines d’origine autorisés via CORS ou « * » pour autoriser tous les domaines. Un domaine d’origine peut également inclure un caractère générique dans le sous-domaine pour autoriser les demandes via CORS pour tous les sous-domaines d’un domaine. Limitée à 64 domaines d'origine. Chaque origine autorisée peut comporter jusqu'à 256 caractères.
ExposedHeaders Obligatoire si l’élément CorsRule est présent. Liste séparée par des virgules d'en-têtes de réponse à exposer aux clients CORS. Limitée à 64 en-têtes définis et deux en-têtes avec préfixe. Chaque en-tête peut comporter jusqu'à 256 caractères.
MaxAgeInSeconds Obligatoire si l’élément CorsRule est présent. Nombre de secondes pendant lesquelles le client/navigateur doit mettre en cache une réponse préliminaire.
AllowedHeaders Obligatoire si l’élément CorsRule existe. Liste séparée par des virgules d'en-têtes autorisés à faire partie de la demande cross-origin. Limitée à 64 en-têtes définis et deux en-têtes avec préfixe. Chaque en-tête peut comporter jusqu'à 256 caractères.
AllowedMethods Obligatoire si l’élément CorsRule existe. Liste séparée par des virgules de méthodes HTTP qui sont autorisées à être exécutées par l'origine. Pour stockage Azure, les méthodes autorisées sont DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS et PUT.
DeleteRetentionPolicy facultatif. Pour définir DeleteRetentionPolicy, appelez Set Blob Service Properties à l’aide de la version 2017-07-29 et ultérieure. Regroupe les paramètres de suppression réversible. S’applique uniquement au stockage Blob.
DeleteRetentionPolicy/Enabled Obligatoire. Indique si l’objet blob ou le instantané supprimé est conservé ou immédiatement supprimé par une opération de suppression.
DeleteRetentionPolicy/Days Obligatoire uniquement si DeleteRetentionPolicy/Enabled a la valeur true. Indique le nombre de jours pendant lesquels l’objet blob supprimé doit être conservé. Toutes les données antérieures à cette valeur sont définitivement supprimées. La valeur minimale que vous pouvez spécifier est 1; la plus grande valeur est 365.
StaticWebsite facultatif. Pour définir les propriétés StaticWebsite , appelez Set Blob Service Properties à l’aide de la version 2018-03-28 et ultérieure. S’applique uniquement au stockage Blob.
StaticWebsite/Enabled Obligatoire. Indique si la prise en charge des sites web statiques est activée pour le compte spécifié.
StaticWebsite/IndexDocument facultatif. Page web que le Stockage Azure sert pour les demandes à la racine d’un site web ou d’un sous-dossier (par exemple, index.html). Cette valeur respecte la casse.
StaticWebsite/DefaultIndexDocumentPath facultatif. Chemin d’accès absolu à une page web que le Stockage Azure sert pour les demandes qui ne correspondent pas à un fichier existant. Le contenu de la page est retourné avec HTTP 200 OK (par exemple, index.html). L’élément s’exclue mutuellement avec StaticWebsite/IndexDocument. Cette valeur respecte la casse.
StaticWebsite/ErrorDocument404Path facultatif. Chemin d’accès absolu à une page web que le Stockage Azure sert pour les demandes qui ne correspondent pas à un fichier existant. Le contenu de la page est retourné avec HTTP 404 Not Found (par exemple, error/404.html). Une seule page 404 personnalisée est prise en charge dans chaque site web statique. Cette valeur respecte la casse.

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 202 (Accepté).

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 une requête adressée au service.
x-ms-version Spécifie la version de l'opération utilisée pour la réponse. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
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 Service Properties comme décrit ci-dessous.

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 Service Properties, 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

Les restrictions et limitations suivantes s'appliquent aux règles CORS du stockage Azure :

  • Il ne peut pas y avoir plus de cinq règles enregistrées.

  • La taille maximale de tous les paramètres de règles CORS sur la demande, à l’exception des balises XML, ne doit pas dépasser 2 Kio.

  • La longueur d'un en-tête autorisé, d'un en-tête exposé ou d'une origine autorisée ne doit pas dépasser 256 caractères.

  • Les en-têtes autorisés et les en-têtes exposés peuvent être :

    • des en-têtes littéraux, où le nom exact de l’en-tête est spécifié, tel que x-ms-meta-processed. Il ne peut pas y avoir plus de 64 en-têtes littéraux spécifiés sur la demande ;

    • Des en-têtes préfixés, où un préfixe de l'en-tête est spécifié, tel que x-ms-meta-data*. La spécification d’un préfixe de cette manière autorise ou expose n’importe quel en-tête commençant par le préfixe spécifié. Il ne peut pas y avoir plus de deux en-têtes préfixés spécifiés sur la demande.

  • Les méthodes (ou verbes HTTP) spécifiées dans l’élément AllowedMethods doivent être conformes aux méthodes prises en charge par les API stockage Azure. Les méthodes prises en charge sont DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS et PUT.

La spécification de règles CORS sur la demande est facultative. Si vous appelez Set Blob Service Properties sans spécifier l'élément Cors dans le corps de la requête, toutes les règles CORS existantes sont conservées.

Pour désactiver CORS, appelez Set Blob Service Properties avec un paramètre de règles CORS vide (c’est-à-dire)</Cors> et aucune règle CORS interne. Cet appel supprime toutes les règles existantes et désactive CORS pour le stockage Blob.

Tous les éléments de règle CORS sont requis si l’élément CorsRule est spécifié. La demande échoue avec le code d’erreur 400 (Bad Request) si un élément est manquant.

À partir de la version 2013-08-15, les éléments de paramètres XML étant facultatifs, vous pouvez donc mettre à jour un élément spécifique en envoyant un code XML qui contient uniquement l’élément mis à jour. Les autres paramètres ne sont pas affectés.

Pour plus d’informations sur les règles CORS et la logique d’évaluation, consultez Prise en charge de CORS pour les services de stockage Azure.

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 Service Properties les demandes en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Définition des propriétés du service Blob Objet blob de blocs Premium
Usage général v2 Standard
Autres opérations
Définition des propriétés du service 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.

Exemple de requête et de réponse

L’exemple d’URI suivant effectue une demande de modification des propriétés du stockage Blob pour le compte de stockage fictif nommé myaccount :

PUT https://myaccount.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1  

La demande est envoyée avec les en-têtes suivants :

x-ms-version: 2018-03-28
x-ms-date: Tue, 12 Sep 2018 23:38:35 GMT 
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.blob.core.windows.net  

La demande est envoyée avec le corps XML suivant :

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>1.0</Version>  
        <Delete>true</Delete>  
        <Read>false</Read>  
        <Write>true</Write>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>true</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>  
            <AllowedMethods>GET,PUT</AllowedMethods>  
            <MaxAgeInSeconds>500</MaxAgeInSeconds>  
            <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>  
            <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>  
        </CorsRule>  
    </Cors>
    <DeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>5</Days>
    </DeleteRetentionPolicy>  
    <StaticWebsite>  
        <Enabled>true</Enabled>  
        <IndexDocument>index.html</IndexDocument>  
        <ErrorDocument404Path>error/404.html</ErrorDocument404Path>  
    </StaticWebsite>  
    <DefaultServiceVersion>2018-03-28</DefaultServiceVersion>  
</StorageServiceProperties>  

Une fois la demande envoyée, la réponse suivante est renvoyée :

HTTP/1.1 202 Accepted
Transfer-Encoding: chunked
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30 
x-ms-version: 2018-03-28
Date: Tue, 12 Sep 2018 23:38:35 GMT
  

Voir aussi

Analyse du stockage
Prise en charge de CORS pour les services stockage Azure
Spécification HTTP CORS