Définition des propriétés du service de File d'attente

L’opération Set Queue Service Properties définit les propriétés du point de terminaison de service file d’attente d’un compte de stockage, y compris les propriétés pour les règles cors (Storage Analytics et cors). Pour plus d’informations sur les règles CORS, consultez Prise en charge CORS pour les services de stockage .

Requête

Vous pouvez spécifier la Set Queue Service Properties demande 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.queue.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 Description
restype=service&comp=properties Obligatoire. La combinaison des deux chaînes de requête est requise pour définir les propriétés du service Stockage Azure.
timeout Optionnel. 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 service file d’attente.

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 Optionnel. 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 le stockage File d’attente 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>  
</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-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

À partir de la version 2013-08-15, vous pouvez appeler Set Queue 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

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 spécifié, vous devez spécifier chaque élément enfant pour cet élément.

Les éléments du corps de la requête sont décrits dans le tableau suivant :

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 Storage Analytics.
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 Storage Analytics. Les paramètres Metrics fournissent un résumé des statistiques de demande regroupées par l'API en agrégats horaires des files d'attente.
HourMetrics Facultatif pour les versions 2013-08-15 et ultérieures. Non applicable aux versions antérieures. Regroupe les paramètres Storage Analytics HourMetrics. Les paramètres HourMetrics fournissent un résumé des statistiques de demande regroupées par l'API en agrégats horaires des files d'attente.
MinuteMetrics Facultatif pour les versions 2013-08-15 et ultérieures. Non applicable aux versions antérieures. Regroupe les paramètres Storage Analytics MinuteMetrics. Les paramètres MinuteMetrics fournissent des statistiques de demande pour chaque minutes des files d'attente. 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 Logging, Metrics, HourMetrics ou MinuteMetrics sont spécifiés. La version de Storage Analytics à configurer.
Supprimer Obligatoire si les paramètres Logging, 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 Logging, 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 Logging, 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 service de File d'attente.

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 seront supprimées. La valeur minimale que vous pouvez spécifier est 1, et la valeur maximale est 365 (un an).
Scro Optionnel. L’élément Cors est pris en charge pour les versions 2013-08-15 et ultérieures. Regroupe toutes les règles CORS.

Si cet élément n'est pas spécifié, le regroupement ne remplace pas les paramètres CORS existants.
CorsRule Optionnel. Spécifie une règle CORS pour le service de File d'attente. 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 les règles CORS sont désactivées pour le service de File d'attente.
AllowedOrigins Obligatoire si l'élément CorsRule est présent. Liste séparée par des virgules de domaines d'origine qui sont autorisés via les règles CORS, ou « * » si tous les domaines sont autorisés. 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 contenir 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 contenir 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, POST, , OPTIONSou PUT.

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 demande effectuée auprès du 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

Seul le propriétaire du compte peut appeler cette opération.

Notes

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 l’un des éléments suivants :

    • Des en-têtes littéraux, où le nom précis d'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 du service Stockage Azure. Les méthodes prises en charge sont DELETE, GET, HEADMERGE, POST, OPTIONS, et PUT.

La spécification de règles CORS sur la demande est facultative. Si vous appelez Set Queue 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 Queue Service Properties avec des paramètres de règles CORS vides (autrement dit,*</Cors>) et aucune règle CORS interne. Cet appel supprime toutes les règles existantes et désactive CORS pour le service File d’attente.

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.

Exemple de requête et de réponse

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

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

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

x-ms-version: 2013-08-15  
x-ms-date: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.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>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> 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>  
</StorageServiceProperties>  
  

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

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Wed, 23 Oct 2013 04:28:20 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Voir aussi

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