Définition des propriétés du service Table
L’opération Set Table Service Properties
définit les propriétés du point de terminaison de stockage Table Azure d’un compte de stockage, y compris les propriétés des règles de Storage Analytics et cors (Cross-Origin Resource Sharing). Pour plus d’informations sur les règles CORS, consultez Prise en charge de CORS pour les services de stockage Azure.
Requête
Vous pouvez spécifier la Set Table Service Properties
demande comme suit. Nous recommandons HTTPS. Remplacez account-name par le nom de votre compte de stockage.
Méthode | URI de demande | Version HTTP |
---|---|---|
PUT | https://account-name.table.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Notez que l'URI doit toujours inclure la barre oblique (/) pour séparer le nom d'hôte du chemin d'accès et les portions de requête de l'URI. Dans le cadre de cette opération, la partie de 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 nécessaire pour définir les propriétés du service Stockage Azure. |
timeout |
Optionnel. Le paramètre timeout est exprimé en secondes. |
En-têtes de requête
Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs :
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 que le serveur reçoit. |
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-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders> comma-separated-list-of-request-headers </AllowedHeaders>
</CorsRule>
</Cors>
</StorageServiceProperties>
À partir de la version 2013-08-15, vous pouvez appeler Set Table Service Properties
avec un ou plusieurs éléments racine spécifiés dans le corps de la demande. Les éléments racine incluent :
Logging
HourMetrics
MinuteMetrics
Cors
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 pour la version 2013-08-15 et ultérieure. Obligatoire pour les versions antérieures. Regroupe les paramètres de Storage AnalyticsLogging . |
Metrics |
Obligatoire pour la version 2012-02-12 et les versions antérieures. Non applicable pour la version 2013-08-15 et ultérieures. Regroupe les paramètres de Storage AnalyticsMetrics . Les paramètres Metrics fournissent un résumé des statistiques de requête regroupées par l'API en agrégats horaires des tables. |
HourMetrics |
Facultatif pour la version 2013-08-15 et ultérieure. Non applicable aux versions antérieures. Regroupe les paramètres de Storage AnalyticsHourMetrics . Les paramètres HourMetrics fournissent un résumé des statistiques de requête regroupées par l'API en agrégats horaires des tables. |
MinuteMetrics |
Facultatif pour la version 2013-08-15 et ultérieure. Non applicable aux versions antérieures. Regroupe les paramètres de Storage AnalyticsMinuteMetrics . Les paramètres MinuteMetrics fournissent des statistiques de requête pour chaque minutes des tables. Pour les versions antérieures à la version à 2013-08-15, MinuteMetrics n'est pas inclus dans le corps de la réponse. |
Version |
Obligatoire. Indique la version de Storage Analytics à configurer. |
Delete |
Obligatoire. S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes de suppression doivent être journalisées. |
Read |
Obligatoire. S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes de lecture doivent être journalisées. |
Write |
Obligatoire. S'applique uniquement à la configuration de journalisation. Indique si toutes les demandes d'écriture doivent être journalisées. |
Enabled |
Obligatoire. Indique si les métriques sont activées pour le service Stockage Azure. 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éographique redondante avec accès en lecture n'est pas activée, seules les métriques primaires 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 Stockage Azure. |
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 plus anciennes que cette valeur seront supprimées. La valeur minimale que vous pouvez spécifier est 1 . La valeur la plus élevée est 365 (un an). |
Cors |
Optionnel. Pris en charge pour la version 2013-08-15 et ultérieure. 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 stockage table. Vous pouvez inclure jusqu’à cinq éléments CorsRule dans la requête. Si aucun élément n’est CorsRule inclus dans le corps de la demande, toutes les règles CORS sont supprimées et CORS est désactivé pour le stockage Table. |
AllowedOrigins |
Obligatoire si l'élément CorsRule est présent. Fournit une liste séparée par des virgules des domaines d’origine qui seront autorisés via CORS ou qui contiennent * 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. Fournit une 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. Indique le nombre de secondes pendant lesquelles le client ou le navigateur doit mettre en cache une réponse préliminaire. |
AllowedHeaders |
Obligatoire si l’élément CorsRule existe. Fournit une liste séparée par des virgules d’en-têtes autorisés à faire partie de la demande d’origine croisée. 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. Fournit une liste séparée par des virgules des méthodes HTTP que l’origine est autorisée à exécuter. Pour stockage Azure, les méthodes autorisées sont DELETE , GET , HEAD , MERGE , POST , , OPTIONS et PUT . |
response
La réponse inclut un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps 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 également 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 |
Spécifie une valeur qui 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 est au maximum 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, cet en-tête 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 :
Vous pouvez stocker un maximum de cinq règles.
La taille maximale de tous les paramètres de règle 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 les suivants :
En-têtes littérals où le nom exact de l’en-tête est fourni, tels que
x-ms-meta-processed
. Vous pouvez spécifier un maximum de 64 en-têtes littéraux sur la demande.En-têtes préfixés où un préfixe de l’en-tête est fourni, comme
x-ms-meta-data\
. La spécification d’un préfixe de cette façon autorise ou expose tout en-tête commençant par ce préfixe. Vous pouvez spécifier un maximum de deux en-têtes préfixé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 sontDELETE
,GET
,HEAD
MERGE
,POST
,OPTIONS
, etPUT
.
La spécification de règles CORS sur la demande est facultative. Si vous appelez Set Table 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 Table Service Properties
avec des paramètres de règles CORS vides (par exemple, </Cors>
) et aucune règle CORS interne. Cet appel supprime toutes les règles existantes et désactive CORS pour le stockage Table.
Tous les éléments de règle CORS sont requis si vous spécifiez l’élément CorsRule
. S’il manque un élément, la demande échoue avec le code d’erreur 400 (requête incorrecte).
À compter de la version 2013-08-15, les éléments pour les paramètres XML sont facultatifs. Vous pouvez mettre à jour un élément spécifique en envoyant du code XML qui contient uniquement l’élément mis à jour et qui n’affecte pas d’autres paramètres.
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 de stockage table pour le compte de stockage fictif nommé myaccount :
PUT https://myaccount.table.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: Mon, 21 Oct 2013 04:38:23 GMT
Authorization: SharedKey
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.table.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>
</StorageServiceProperties>
Une fois la demande envoyée, la réponse suivante est retournée :
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 21 Oct 2013 04:38:24 GMT
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2013-08-15