Set Table Service Properties
L'operazione Set Table Service Properties
imposta le proprietà per l'endpoint di Archiviazione tabelle di Azure di un account di archiviazione, incluse le proprietà per Analisi archiviazione e le regole CORS (Cross-Origin Resource Sharing). Per altre informazioni sulle regole CORS, vedere Supporto CORS per i servizi di archiviazione di Azure.
Richiesta
È possibile specificare la Set Table Service Properties
richiesta come indicato di seguito. È consigliabile usare HTTPS. Sostituire account-name con il nome dell'account di archiviazione.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
PUT | https://account-name.table.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Si noti che l'URI deve sempre includere la barra (/) per separare il nome host dal percorso e dalle parti di una query dell'URI. Nel caso di questa operazione, la parte del percorso dell'URI è vuota.
Parametri URI
Parametro URI | Descrizione |
---|---|
restype=service&comp=properties |
Obbligatorio. La combinazione di entrambe le stringhe di query è necessaria per impostare le proprietà per il servizio archiviazione di Azure. |
timeout |
Facoltativa. Il parametro timeout viene espresso in secondi. |
Intestazioni della richiesta
La tabella seguente descrive le intestazioni di richiesta obbligatorie e facoltative:
Intestazione della richiesta | Descrizione |
---|---|
Authorization |
Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account di archiviazione e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
Date o x-ms-date |
Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure. |
x-ms-version |
Obbligatorio per tutte le richieste autorizzate. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure. |
x-ms-client-request-id |
Facoltativa. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log al momento della configurazione della registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle richieste ricevute dal server. |
Testo della richiesta
Per la versione 2012-02-12 e precedenti, il formato del corpo della richiesta è il seguente:
<?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>
Per la versione 2013-08-15 e successive, il formato del corpo della richiesta è il seguente:
<?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>
A partire dalla versione 2013-08-15, è possibile chiamare Set Table Service Properties
con uno o più elementi radice specificati nel corpo della richiesta. Gli elementi radice includono:
Logging
HourMetrics
MinuteMetrics
Cors
Non è più necessario specificare ogni elemento radice nella richiesta. Se si omette un elemento radice, vengono mantenute le impostazioni esistenti per il servizio associato alla funzionalità. Tuttavia, se si specifica un elemento radice, è necessario specificare ogni elemento figlio per tale elemento.
Nella tabella seguente vengono descritti gli elementi del corpo della richiesta:
Nome dell'elemento | Descrizione |
---|---|
Logging |
Facoltativo per la versione 2013-08-15 e successive. Obbligatorio per le versioni precedenti. Raggruppa le impostazioni di Analisi archiviazioneLogging . |
Metrics |
Obbligatorio per la versione 2012-02-12 e precedenti. Non applicabile per la versione 2013-08-15 e successive. Raggruppa le impostazioni di Analisi archiviazioneMetrics . Le impostazioni Metrics forniscono un riepilogo delle statistiche sulle richieste raggruppate per API nelle aggregazioni orarie delle tabelle. |
HourMetrics |
Facoltativo per la versione 2013-08-15 e successive. Non applicabile per le versioni precedenti. Raggruppa le impostazioni di Analisi archiviazioneHourMetrics . Le impostazioni HourMetrics forniscono un riepilogo delle statistiche sulle richieste raggruppate per API nelle aggregazioni orarie delle tabelle. |
MinuteMetrics |
Facoltativo per la versione 2013-08-15 e successive. Non applicabile per le versioni precedenti. Raggruppa le impostazioni di Analisi archiviazioneMinuteMetrics . Le impostazioni MinuteMetrics forniscono statistiche sulle richieste per ogni minuto per le tabelle. Per le versioni precedenti alla 2013-08-15, MinuteMetrics non è incluso nel corpo della risposta. |
Version |
Obbligatorio. Indica la versione di Analisi archiviazione da configurare. |
Delete |
Obbligatorio. Si applica solo alla configurazione della registrazione. Indica se tutte le richieste di eliminazione devono essere registrate. |
Read |
Obbligatorio. Si applica solo alla configurazione della registrazione. Indica se tutte le richieste di lettura devono essere registrate. |
Write |
Obbligatorio. Si applica solo alla configurazione della registrazione. Indica se tutte le richieste di scrittura devono essere registrate. |
Enabled |
Obbligatorio. Indica se le metriche sono abilitate per il servizio archiviazione di Azure. Se la replica geograficamente ridondante con accesso in lettura è abilitata, verranno raccolte sia le metriche primarie sia secondarie. Se la replica geograficamente ridondante con accesso in lettura non è abilitata, verranno raccolte solo le metriche primarie. |
IncludeAPIs |
Obbligatorio solo se le metriche sono abilitate. Si applica solo alla configurazione della metrica. Indica se la metrica deve generare le statistiche di riepilogo per le operazioni API chiamate. |
RetentionPolicy/Enabled |
Obbligatorio. Indica se un criterio di conservazione è abilitato per il servizio archiviazione di Azure. |
RetentionPolicy/Days |
Obbligatorio solo se i criteri di conservazione sono abilitati. Indica il numero di giorni per cui devono essere conservati i dati di registrazione e di metrica. Tutti i dati che precedono questo valore verranno eliminati. Il valore minimo che è possibile specificare è 1 . Il valore più grande è 365 (un anno). |
Cors |
Facoltativa. Supportato per la versione 2013-08-15 e successive. Raggruppa tutte le regole CORS. L'omissione di questo gruppo di elementi non comporta la sovrascrittura delle impostazioni CORS esistenti. |
CorsRule |
Facoltativa. Specifica una regola CORS per l'archiviazione tabelle. È possibile includere fino a cinque elementi CorsRule nella richiesta. Se nel corpo della richiesta non CorsRule sono inclusi elementi, tutte le regole CORS verranno eliminate e CORS verrà disabilitato per l'archiviazione tabelle. |
AllowedOrigins |
Obbligatorio se è presente l'elemento CorsRule . Fornisce un elenco delimitato da virgole di domini di origine che saranno consentiti tramite CORS o contiene * per consentire tutti i domini. Un dominio di origine può includere anche un carattere jolly nel sottodominio per consentire le richieste tramite CORS per tutti i sottodomini di un dominio. Limitato a 64 domini di origine. Ogni origine consentita può contenere fino a 256 caratteri. |
ExposedHeaders |
Obbligatorio se l'elemento CorsRule è presente. Fornisce un elenco delimitato da virgole di intestazioni di risposta da esporre ai client CORS. Limitato a 64 intestazioni definite e a due intestazioni con prefisso. Ogni intestazione può contenere fino a 256 caratteri. |
MaxAgeInSeconds |
Obbligatorio se l'elemento CorsRule è presente. Indica il numero di secondi in cui il client o il browser deve memorizzare nella cache una risposta preliminare. |
AllowedHeaders |
Obbligatorio se l'elemento CorsRule esiste. Fornisce un elenco delimitato da virgole di intestazioni che possono far parte della richiesta tra le origini. Limitato a 64 intestazioni definite e a due intestazioni con prefisso. Ogni intestazione può contenere fino a 256 caratteri. |
AllowedMethods |
Obbligatorio se l'elemento CorsRule esiste. Fornisce un elenco delimitato da virgole di metodi HTTP che l'origine può eseguire. Per Archiviazione di Azure, i metodi consentiti sono DELETE , , HEAD GET , MERGE , POST OPTIONS , e PUT . |
Risposta
Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni per la risposta e il corpo di una risposta.
Codice stato
Un'operazione completata correttamente restituisce il codice di stato 202 (Accettato).
Intestazioni di risposta
Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; La risposta potrebbe includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.
Intestazione risposta | Descrizione |
---|---|
x-ms-request-id |
Specifica un valore che identifica in modo univoco una richiesta effettuata sul servizio. |
x-ms-version |
Specifica la versione dell'operazione usata per la risposta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure. |
x-ms-client-request-id |
Può essere usato per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id , se è presente nella richiesta e il valore è al massimo 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non sarà presente nella risposta. |
Corpo della risposta
Nessuno.
Autorizzazione
Solo il proprietario dell'account può chiamare questa operazione.
Commenti
Le restrizioni e limitazioni seguenti si applicano unicamente alle regole CORS nel servizio di archiviazione di Azure:
È possibile archiviare un massimo di cinque regole.
Le dimensioni massime di tutte le impostazioni delle regole CORS nella richiesta, escluse i tag XML, non devono superare 2 KiB.
La lunghezza di un'intestazione consentita, di un'intestazione esposta o di un'origine consentita non deve superare 256 caratteri.
Le intestazioni consentite e le intestazioni esposte possono essere:
Intestazioni letterali in cui viene specificato il nome esatto dell'intestazione, ad esempio
x-ms-meta-processed
. È possibile specificare un massimo di 64 intestazioni letterali nella richiesta.Intestazioni con prefisso in cui viene fornito un prefisso dell'intestazione, ad esempio
x-ms-meta-data\
. Specificare un prefisso in questo modo consente o espone qualsiasi intestazione che inizia con tale prefisso. È possibile specificare un massimo di due intestazioni con prefisso nella richiesta.
I metodi (o verbi HTTP) specificati nell'elemento
AllowedMethods
devono essere conformi ai metodi supportati dalle API del servizio di archiviazione di Azure. I metodi supportati sonoDELETE
,GET
,MERGE
HEAD
,POST
, ,OPTIONS
ePUT
.
L'impostazione di regole CORS nella richiesta è facoltativa. Se si chiama Set Table Service Properties
senza specificare l'elemento Cors
nel corpo della richiesta, le eventuali regole CORS esistenti vengono mantenute.
Per disabilitare CORS, chiamare Set Table Service Properties
con impostazioni di regole CORS vuote ( ad esempio </Cors>
) e nessuna regola CORS interna. Questa chiamata elimina le regole esistenti e disabilita CORS per l'archiviazione tabelle.
Tutti gli elementi della regola CORS sono necessari se si specifica l'elemento CorsRule
. Se manca un elemento, la richiesta avrà esito negativo con codice di errore 400 (richiesta non valida).
A partire dalla versione 2013-08-15, gli elementi per le impostazioni XML sono facoltativi. È possibile aggiornare un elemento specifico inviando xml che contiene solo l'elemento aggiornato e non influisce su altre impostazioni.
Per informazioni dettagliate sulle regole CORS e sulla logica di valutazione, vedere Supporto CORS per i servizi di archiviazione di Azure.
Richiesta e risposta di esempio
L'URI di esempio seguente richiede di modificare le proprietà di archiviazione tabelle per l'account di archiviazione fittizio denominato myaccount:
PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1
La richiesta viene inviata con le intestazioni seguenti:
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 richiesta viene inviata con il corpo XML seguente:
<?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>
Dopo l'invio della richiesta, viene restituita la risposta seguente:
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