Set Queue Service Properties

L'operazione Set Queue Service Properties imposta le proprietà per l'endpoint del servizio code 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 .

Richiesta

È possibile specificare la Set Queue Service Properties richiesta come indicato di seguito. È consigliabile usare HTTPS. Sostituire il nome dell'account con il nome dell'account di archiviazione:

Metodo URI richiesta Versione HTTP
PUT https://account-name.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1

Nota

L'URI deve sempre includere un carattere di barra (/) per separare il nome host dal percorso e dalle parti di query dell'URI. In questa operazione la parte del percorso dell'URI è vuota.

Parametri URI

Parametro Descrizione
restype=service&comp=properties Obbligatorio. La combinazione di entrambe le stringhe di query è necessaria per impostare le proprietà del servizio di archiviazione di Azure.
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni del servizio code.

Intestazioni della richiesta

Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:

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 quando la registrazione è configurata. È consigliabile usare questa intestazione per correlare le attività lato client con le richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione code di Azure.

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-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

A partire dalla versione 2013-08-15, è possibile chiamare Set Queue 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 specificato, è necessario specificare ogni elemento figlio per tale elemento.

Gli elementi del corpo della richiesta sono descritti nella tabella seguente:

Nome dell'elemento Descrizione
Logging Facoltativo a partire dalla versione 2013-08-15. Obbligatorio per le versioni precedenti. Raggruppa le impostazioni di registrazione Analisi archiviazione.
Metriche Obbligatorio per la versione 2012-02-12 e precedenti. Non applicabile per la versione 2013-08-15 e versioni successive. Raggruppa le impostazioni delle metriche di Analisi archiviazione. Le impostazioni Metrics forniscono un riepilogo delle statistiche sulle richieste raggruppate per API nelle aggregazioni orarie per le code.
HourMetrics Facoltativo per la versione 2013-08-15 e versioni successive. Non applicabile per le versioni precedenti. Raggruppa le impostazioni Analisi archiviazione HourMetrics. Le impostazioni HourMetrics forniscono un riepilogo delle statistiche sulle richieste raggruppate per API nelle aggregazioni orarie per le code.
MinuteMetrics Facoltativo per la versione 2013-08-15 e versioni successive. Non applicabile per le versioni precedenti. Raggruppa le impostazioni Analisi archiviazione MinuteMetrics. Le impostazioni MinuteMetrics forniscono statistiche sulle richieste per ogni minuto per le code. Per le versioni precedenti al 2013-08-15, MinuteMetrics non è incluso nel corpo della risposta.
Versione Obbligatorio se vengono specificate le impostazioni Logging, Metrics, HourMetrics o MinuteMetrics. Versione di Analisi archiviazione da configurare.
Elimina Obbligatorio se vengono specificate le impostazioni Logging, Metrics, HourMetrics o MinuteMetrics. Si applica solo alla configurazione della registrazione. Indica se tutte le richieste di eliminazione devono essere registrate.
Lettura Obbligatorio se vengono specificate le impostazioni Logging, Metrics, HourMetrics o MinuteMetrics. Si applica solo alla configurazione della registrazione. Indica se tutte le richieste di lettura devono essere registrate.
Scrittura Obbligatorio se vengono specificate le impostazioni Logging, Metrics, HourMetrics o MinuteMetrics. 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 di accodamento.

Se la replica geograficamente ridondante con accesso in lettura è abilitata, verranno raccolte sia le metriche primarie sia secondarie. Se la replica con ridondanza geografica di accesso in lettura non è abilitata, vengono 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 i criteri di conservazione sono abilitati per il servizio di archiviazione.
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 precedenti a questo valore verranno eliminati. Il valore minimo che è possibile specificare è 1e il valore massimo è 365 (un anno).
Cors Facoltativa. L'elemento Cors è supportato per la versione 2013-08-15 e versioni 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 il servizio di accodamento. È possibile includere fino a cinque elementi CorsRule nella richiesta. Se non sono inclusi elementi CorsRule nel corpo della richiesta, tutte le regole CORS verranno eliminate e CORS verrà disabilitata per il servizio Coda.
AllowedOrigins Obbligatorio se è presente l'elemento CorsRule . Elenco separato da virgole dei domini di origine che saranno consentiti tramite CORS o "*" 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. Elenco separato da virgole delle intestazioni delle risposte 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. Numero di secondi durante i quali il client/browser deve memorizzare nella cache una risposta preliminare.
AllowedHeaders Obbligatorio se l'elemento CorsRule esiste. Elenco separato da virgole delle intestazioni che possono far parte della richiesta multiorigine. 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. Elenco separato da virgole dei metodi HTTP che possono essere eseguiti dall'origine. Per Archiviazione di Azure, i metodi consentiti sono DELETE, OPTIONSMERGEPOSTGETHEADo .PUT

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la 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; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
x-ms-request-id 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 le richieste e le risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id se presente nella richiesta e il valore non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, 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, esclusi 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 una delle seguenti:

    • Intestazioni letterali, per cui non viene specificato il nome esatto dell'intestazione, ad esempio x-ms-meta-processed. Nella richiesta è possibile specificare un massimo di 64 intestazioni letterali.

    • Intestazioni con prefisso, per cui viene specificato un prefisso dell'intestazione, ad esempio x-ms-meta-data*. La specifica di un prefisso in questo modo consente o espone qualsiasi intestazione che inizia con il prefisso specificato. Nella richiesta è possibile specificare un massimo di due intestazioni con prefisso.

  • I metodi (o i 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, HEADPOSTOPTIONSGETMERGEe .PUT

L'impostazione di regole CORS nella richiesta è facoltativa. Se si chiama Set Queue Service Properties senza specificare l'elemento Cors nel corpo della richiesta, vengono mantenute le regole CORS esistenti.

Per disabilitare CORS, chiamare Set Queue Service Properties con impostazioni di regole CORS vuote (ovvero,*</Cors>) e nessuna regola CORS interna. Questa chiamata elimina le regole esistenti e disabilita CORS per il servizio Code.

Tutti gli elementi della regola CORS sono necessari se l'elemento CorsRule è specificato. La richiesta ha esito negativo con il codice di errore 400 (Bad Request) se manca un elemento.

A partire dalla versione 2013-08-15, gli elementi delle impostazioni XML sono facoltativi, quindi è possibile aggiornare un elemento specifico inviando un XML che contiene solo l'elemento aggiornato. Altre impostazioni non sono interessate.

Per informazioni dettagliate sulle regole CORS e sulla logica di valutazione, vedere SUPPORTO CORS per i servizi di archiviazione di Azure.

Richiesta di esempio e risposta

L'URI di esempio seguente effettua una richiesta per modificare le proprietà del servizio code per un account di archiviazione fittizio denominato myaccount:

PUT https://myaccount.queue.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: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.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>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>  
  

Dopo l'invio della richiesta viene restituita la risposta seguente:

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  
  

Vedi anche

Supporto CORS per i servizi di archiviazione di Azure
Specifiche di CORS HTT