Condividi tramite


Set Blob Service Properties

L'operazione Set Blob Service Properties imposta le proprietà per l'endpoint di archiviazione BLOB di un account di archiviazione, incluse le proprietà per Analisi archiviazione, le regole CORS (Cross-Origin Resource Sharing) e le impostazioni di eliminazione temporanea.

È anche possibile usare questa operazione per impostare la versione di richiesta predefinita per tutte le richieste in ingresso all'archiviazione BLOB che non hanno una versione specificata.

Per altre informazioni sulle regole CORS, vedere Supporto CORS per i servizi di archiviazione di Azure.

Richiesta

La richiesta di Set Blob Service Properties può essere specificata 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.blob.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 URI Descrizione
restype=service&comp=properties Obbligatorio. La combinazione di entrambe le stringhe di query è necessaria per impostare le proprietà del servizio di archiviazione.
timeout facoltativo. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni di archiviazione BLOB.

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 facoltativo. 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 Archiviazione BLOB 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>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</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-verbs</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>  
    <!-- The DefaultServiceVersion element can only be set for Blob Storage, and the request must be made using version 2011-08-18 and later -->  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  

Per la versione 2017-07-29 e versioni 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-verbs</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>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>   
</StorageServiceProperties>  

Per la versione 2018-03-28 e successiva, 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-verbs</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>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

Per la versione 2019-12-12 e successiva, 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-verbs</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>    
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>number-of-days</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>
        <Enabled>true|false</Enabled>
        <IndexDocument>default-name-of-index-page-under-each-directory</IndexDocument>
        <DefaultIndexDocumentPath>absolute-path-of-the-default-index-page</DefaultIndexDocumentPath>
        <ErrorDocument404Path>absolute-path-of-the-custom-404-page</ErrorDocument404Path>
    </StaticWebsite>
</StorageServiceProperties>  

A partire dalla versione 2013-08-15, è possibile chiamare Set Blob Service Properties con uno o più elementi radice specificati nel corpo della richiesta. Gli elementi radice includono:

  • Logging
  • HourMetrics
  • MinuteMetrics
  • Cors
  • DefaultServiceVersion
  • DeleteRetentionPolicy: versione 2017-07-29 e versioni successive
  • StaticWebsite: versione 2018-03-28 e versioni successive

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 a partire dalla versione 2013-08-15. Obbligatorio per le versioni precedenti. Raggruppa le impostazioni Logging di Azure Analytics.
Metriche Obbligatorio per la versione 2012-02-12 e precedenti. Non applicabile per la versione 2013-08-15 e versioni successive. Gruppi le impostazioni delle metriche di Analisi di Azure, che forniscono un riepilogo delle statistiche delle richieste raggruppate dall'API in aggregazioni orarie per i BLOB.
HourMetrics Facoltativo per la versione 2013-08-15 e versioni successive; non applicabile per le versioni precedenti. Gruppi le impostazioni HourMetrics di Azure Analytics, che forniscono un riepilogo delle statistiche richieste raggruppate dall'API in aggregazioni orarie per i BLOB.
MinuteMetrics Facoltativo per la versione 2013-08-15 e versioni successive; non applicabile per le versioni precedenti. Gruppi le impostazioni MinuteMetrics di Azure Analytics, che forniscono statistiche di richiesta per ogni minuto per i BLOB. 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 l'archiviazione BLOB.

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 vengono eliminati. Il valore minimo che è possibile specificare è 1, il valore massimo è 365 (un anno).
RetentionPolicy/AllowPermanentDelete Facoltativo, versione 2020-02-10 e successive. Consente di abilitare l'eliminazione permanente nell'account di archiviazione. Il valore predefinito è false.
DefaultServiceVersion facoltativo. Per impostare DefaultServiceVersion, chiamare Set Blob Service Properties usando la versione 2011-08-18 e successive. DefaultServiceVersion indica la versione predefinita da usare per le richieste all'archiviazione BLOB se non è specificata la versione di una richiesta in ingresso. I valori possibili includono la versione 2008-10-27 e successive. Per altre informazioni sulle versioni applicabili, vedere Controllo delle versioni per i servizi di archiviazione di Azure.

Si applica solo all'archiviazione BLOB.
Cors facoltativo. L'elemento Cors è supportato per la versione 2013-08-15 e successive. Raggruppa tutte le regole CORS.

L'omissione di questo gruppo di elementi non sovrascrive le impostazioni CORS esistenti.
CorsRule facoltativo. Specifica una regola CORS per l'archiviazione BLOB. Nella richiesta è possibile includere fino a cinque elementi CorsRule . Se nel corpo della richiesta non sono inclusi elementi CorsRule , tutte le regole CORS vengono eliminate e CORS viene disabilitato per l'archiviazione BLOB.
AllowedOrigins Obbligatorio se l'elemento CorsRule è presente. Elenco delimitato da virgole di domini di origine 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, GET, HEAD, MERGE, PATCH, POST, OPTIONS e PUT.
DeleteRetentionPolicy facoltativo. Per impostare DeleteRetentionPolicy, chiamare Set Blob Service Properties usando la versione 2017-07-29 e successive. Gruppi le impostazioni di eliminazione temporanea. Si applica solo all'archiviazione BLOB.
DeleteRetentionPolicy/Enabled Obbligatorio. Indica se il BLOB o lo snapshot eliminato viene conservato o rimosso immediatamente da un'operazione di eliminazione.
DeleteRetentionPolicy/Days Obbligatorio solo se DeleteRetentionPolicy/Enabled è true. Indica il numero di giorni di conservazione del BLOB eliminato. Tutti i dati precedenti a questo valore vengono eliminati definitivamente. Il valore minimo che è possibile specificare è 1. Il valore massimo è 365.
StaticWebsite facoltativo. Per impostare le proprietà StaticWebsite , chiamare Set Blob Service Properties usando la versione 2018-03-28 e successive. Si applica solo all'archiviazione BLOB.
StaticWebsite/Enabled Obbligatorio. Indica se il supporto per siti Web statici è abilitato per l'account specificato.
StaticWebsite/IndexDocument facoltativo. Pagina Web usata da Archiviazione di Azure per le richieste alla radice di un sito Web o di qualsiasi sottocartella , ad esempio index.html. Il valore fa distinzione tra maiuscole e minuscole.
StaticWebsite/DefaultIndexDocumentPath facoltativo. Percorso assoluto di una pagina Web usata da Archiviazione di Azure per le richieste che non corrispondono a un file esistente. Il contenuto della pagina viene restituito con HTTP 200 OK (ad esempio, index.html). L'elemento si escludono a vicenda con StaticWebsite/IndexDocument. Il valore fa distinzione tra maiuscole e minuscole.
StaticWebsite/ErrorDocument404Path facoltativo. Percorso assoluto di una pagina Web usata da Archiviazione di Azure per le richieste che non corrispondono a un file esistente. Il contenuto della pagina viene restituito con HTTP 404 Not Found (ad esempio, error/404.html). In ogni sito Web statico è supportata solo una singola pagina personalizzata 404. Il valore fa distinzione tra maiuscole e minuscole.

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

L'autorizzazione è necessaria quando si chiama qualsiasi operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione Set Blob Service Properties come descritto di seguito.

Importante

Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre una maggiore sicurezza e facilità d'uso rispetto all'autorizzazione di chiave condivisa.

Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta relativa al servizio BLOB.

Per altre informazioni sull'autorizzazione usando Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

Di seguito è riportata l'azione RBAC necessaria per un utente Microsoft Entra, un gruppo, un gruppo, un'identità gestita o un'entità servizio per chiamare l'operazione Set Blob Service Properties e il ruolo di controllo degli accessi in base al ruolo predefinito di Azure con privilegi minimi che include questa azione:

Per altre informazioni sull'assegnazione dei ruoli tramite controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

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 quelle esposte possono essere:

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

    • Intestazioni con prefisso, in cui viene fornito 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 di Archiviazione di Azure. I metodi supportati sono DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS e PUT.

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

Per disabilitare CORS, chiamare Set Blob Service Properties con un'impostazione di regole CORS vuota (ovvero</Cors>) e nessuna regola CORS interna. Questa chiamata elimina le regole esistenti e disabilita CORS per l'archiviazione BLOB.

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.

Fatturazione

Le richieste di prezzi possono derivare dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST dell'archiviazione BLOB o da una libreria client di Archiviazione di Azure. Queste richieste accumulano addebiti per transazione. Il tipo di transazione influisce sul modo in cui viene addebitato l'account. Ad esempio, le transazioni di lettura si accumulano in una categoria di fatturazione diversa rispetto alle transazioni di scrittura. Nella tabella seguente viene illustrata la categoria di fatturazione per Set Blob Service Properties le richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Set Blob Service Properties BLOB di blocchi Premium
Utilizzo generico v2 Standard
Altre operazioni
Set Blob Service Properties Utilizzo generico standard v1 Operazioni di scrittura

Per informazioni sui prezzi per la categoria di fatturazione specificata, vedere prezzi Archiviazione BLOB di Azure.

Richiesta di esempio e risposta

L'URI di esempio seguente effettua una richiesta di modifica delle proprietà di archiviazione BLOB per l'account di archiviazione fittizio denominato myaccount:

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

La richiesta viene inviata con le intestazioni seguenti:

x-ms-version: 2018-03-28
x-ms-date: Tue, 12 Sep 2018 23:38:35 GMT 
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.blob.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>
    <DeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>5</Days>
    </DeleteRetentionPolicy>  
    <StaticWebsite>  
        <Enabled>true</Enabled>  
        <IndexDocument>index.html</IndexDocument>  
        <ErrorDocument404Path>error/404.html</ErrorDocument404Path>  
    </StaticWebsite>  
    <DefaultServiceVersion>2018-03-28</DefaultServiceVersion>  
</StorageServiceProperties>  

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

HTTP/1.1 202 Accepted
Transfer-Encoding: chunked
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30 
x-ms-version: 2018-03-28
Date: Tue, 12 Sep 2018 23:38:35 GMT
  

Vedi anche

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