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, , HEADGET, MERGE, POSTOPTIONS, 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 sono DELETE, GET, MERGEHEAD, POST, , OPTIONSe PUT.

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  
  

Vedi anche