Compartilhar via


Definir propriedades do serviço Blob

A Set Blob Service Properties operação define propriedades para o ponto de extremidade do Armazenamento de Blobs de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento, regras de CORS (compartilhamento de recursos entre origens) e configurações de exclusão reversível.

Você também pode usar essa operação para definir a versão de solicitação padrão para todas as solicitações de entrada para o Armazenamento de Blobs que não têm uma versão especificada.

Para obter mais informações sobre regras de CORS, consulte Suporte do CORS para os serviços de Armazenamento do Azure.

Solicitação

A solicitação Set Blob Service Properties pode ser especificada da seguinte maneira. Recomendamos que você use HTTPS. Substitua account-name pelo nome da sua conta de armazenamento:

Método URI da solicitação Versão HTTP
PUT https://account-name.blob.core.windows.net/?restype=service&comp=properties HTTP/1.1

Observação

O URI sempre deve incluir um caractere de barra (/) para separar o nome do host das partes de caminho e consulta do URI. Nesta operação, a parte do caminho do URI está vazia.

Parâmetros do URI

Parâmetro do URI Descrição
restype=service&comp=properties Obrigatórios. A combinação das duas cadeias de caracteres de consulta é necessária para definir as propriedades do serviço de armazenamento.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de Armazenamento de Blobs.

Cabeçalhos da solicitação

Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta de armazenamento e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Necessário para todas as solicitações autorizadas. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres KiB (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar Armazenamento de Blobs do Azure.

Corpo da solicitação

Para a versão 2012-02-12 e anterior, o formato da solicitação é o seguinte:

<?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>  

Para a versão 2013-08-15 e posterior, o formato da solicitação é o seguinte:

<?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>  

Para a versão 2017-07-29 e posterior, o formato do corpo da solicitação é o seguinte:

<?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>  

Para a versão 2018-03-28 e posterior, o formato do corpo da solicitação é o seguinte:

<?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>  

Para a versão 2019-12-12 e posterior, o formato do corpo da solicitação é o seguinte:

<?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 partir da versão 2013-08-15, você pode chamar Set Blob Service Properties com um ou mais elementos raiz especificados no corpo da solicitação. Os elementos raiz incluem:

  • Logging
  • HourMetrics
  • MinuteMetrics
  • Cors
  • DefaultServiceVersion
  • DeleteRetentionPolicy: versão 2017-07-29 e posterior
  • StaticWebsite: versão 2018-03-28 e posterior

Não é mais necessário especificar todos os elementos raiz na solicitação. Se você omitir um elemento raiz, as configurações existentes para o serviço para essa funcionalidade serão preservadas. No entanto, se você especificar um elemento raiz, deverá especificar cada elemento filho para esse elemento.

A tabela a seguir descreve os elementos do corpo da solicitação:

Nome do elemento Descrição
Logging Opcional a partir da versão 2013-08-15. Necessário para versões anteriores. Agrupa as configurações de Logging da Análise do Azure.
Métricas Necessário para a versão 2012-02-12 e anterior. Não aplicável à versão 2013-08-15 e posterior. Grupos as configurações de Métricas do Azure Analytics, que fornecem um resumo das estatísticas de solicitação agrupadas pela API em agregações por hora para blobs.
HourMetrics Opcional para a versão 2013-08-15 e posterior; não aplicável a versões anteriores. Grupos as configurações de HourMetrics do Azure Analytics, que fornecem um resumo das estatísticas de solicitação agrupadas pela API em agregações por hora para blobs.
MinuteMetrics Opcional para a versão 2013-08-15 e posterior; não aplicável a versões anteriores. Grupos as configurações de MinuteMetrics do Azure Analytics, que fornecem estatísticas de solicitação para cada minuto para blobs. Para versões anteriores a 2013-08-15, MinuteMetrics não está incluído no corpo da resposta.
Versão Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. A versão do Storage Analytics a ser configurada.
Excluir Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de exclusão devem ser registradas em log.
Leitura Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de leitura devem ser registradas em log.
Gravar Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de gravação devem ser registradas em log.
Enabled Obrigatórios. Indica se as métricas estão habilitadas para o Armazenamento de Blobs.

Se a replicação georredundante de acesso de leitura estiver habilitada, as métricas primárias e secundárias serão coletadas. Se a replicação com redundância geográfica de acesso de leitura não estiver habilitada, somente as métricas primárias serão coletadas.
IncludeAPIs Necessário somente se as métricas estiverem habilitadas. É aplicável apenas à configuração de métrica. Indica se a métrica deve gerar estatísticas de resumo para operações chamadas de API.
RetentionPolicy/Enabled Obrigatórios. Indica se uma política de retenção está habilitada para o serviço de armazenamento.
RetentionPolicy/Days Necessário apenas se uma política de retenção estiver habilitada. Indica o número de dias em que a métrica ou os dados de log devem ser mantidos. Todos os dados mais antigos que esse valor são excluídos. O valor mínimo que você pode especificar é 1; o maior valor é 365 (um ano).
RetentionPolicy/AllowPermanentDelete Opcional, versão 2020-02-10 e posterior. Permite habilitar a exclusão permanente na conta de armazenamento. O valor padrão é false.
DefaultServiceVersion Opcional. Para definir DefaultServiceVersion, chame Set Blob Service Properties usando a versão 2011-08-18 e posterior. DefaultServiceVersion indica a versão padrão a ser usada para solicitações ao Armazenamento de Blobs se a versão de uma solicitação de entrada não for especificada. Os valores possíveis incluem a versão 2008-10-27 e posterior. Para obter mais informações sobre as versões aplicáveis, consulte Controle de versão para os serviços de Armazenamento do Azure.

Aplica-se somente ao Armazenamento de Blobs.
Cors Opcional. O elemento Cors tem suporte para a versão 2013-08-15 e posterior. Agrupa todas as regras de CORS.

Omitir esse grupo de elementos não substitui as configurações de CORS existentes.
CorsRule Opcional. Especifica uma regra CORS para o Armazenamento de Blobs. Você pode incluir até cinco elementos CorsRule na solicitação. Se nenhum elemento CorsRule estiver incluído no corpo da solicitação, todas as regras CORS serão excluídas e o CORS será desabilitado para o Armazenamento de Blobs.
AllowedOrigins Obrigatório se o elemento CorsRule estiver presente. Uma lista separada por vírgulas de domínios de origem que são permitidos via CORS ou "*" para permitir todos os domínios. Um domínio de origem também pode incluir um caractere curinga no subdomínio para permitir solicitações via CORS para todos os subdomínios de um domínio. Limitado a 64 domínios de origem. Cada origem permitida pode ter até 256 caracteres.
ExposedHeaders Obrigatório se o elemento CorsRule estiver presente. Uma lista de cabeçalhos de resposta separados por vírgulas para expor para clientes de CORS. Limitado a 64 cabeçalhos definidos e dois cabeçalhos prefixados. Cada cabeçalho pode ter até 256 caracteres.
MaxAgeInSeconds Obrigatório se o elemento CorsRule estiver presente. O número de segundos que o cliente/navegador deve armazenar em cache uma resposta de simulação.
AllowedHeaders Obrigatório se o elemento CorsRule existir. Uma lista de cabeçalhos separados por vírgulas com permissão para fazerem parte da solicitação entre origens. Limitado a 64 cabeçalhos definidos e 2 cabeçalhos prefixados. Cada cabeçalho pode ter até 256 caracteres.
AllowedMethods Obrigatório se o elemento CorsRule existir. Uma lista de métodos de HTTP separados por vírgulas com permissão para serem executados pela origem. Para o Armazenamento do Azure, os métodos permitidos são DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS e PUT.
DeleteRetentionPolicy Opcional. Para definir DeleteRetentionPolicy, chame Set Blob Service Properties usando a versão 2017-07-29 e posterior. Grupos as configurações de exclusão reversível. Aplica-se somente ao Armazenamento de Blobs.
DeleteRetentionPolicy/Enabled Obrigatórios. Indica se o blob ou instantâneo excluído é retido ou removido imediatamente por uma operação de exclusão.
DeleteRetentionPolicy/Days Obrigatório somente se DeleteRetentionPolicy/Enabled for true. Indica o número de dias que o blob excluído será retido. Todos os dados mais antigos que esse valor são excluídos permanentemente. O valor mínimo que você pode especificar é 1; o maior valor é 365.
StaticWebsite Opcional. Para definir propriedades StaticWebsite , chame Set Blob Service Properties usando a versão 2018-03-28 e posterior. Aplica-se somente ao Armazenamento de Blobs.
StaticWebsite/Enabled Obrigatórios. Indica se o suporte a sites estáticos está habilitado para a conta especificada.
StaticWebsite/IndexDocument Opcional. A página da Web que o Armazenamento do Azure atende para solicitações para a raiz de um site ou de qualquer subpasta (por exemplo, index.html). O valor diferencia maiúsculas de minúsculas.
StaticWebsite/DefaultIndexDocumentPath Opcional. O caminho absoluto para uma página da Web que o Armazenamento do Azure atende para solicitações que não correspondem a um arquivo existente. O conteúdo da página é retornado com HTTP 200 OK (por exemplo, index.html). O elemento é mutuamente exclusivo com StaticWebsite/IndexDocument. O valor diferencia maiúsculas de minúsculas.
StaticWebsite/ErrorDocument404Path Opcional. O caminho absoluto para uma página da Web que o Armazenamento do Azure atende para solicitações que não correspondem a um arquivo existente. O conteúdo da página é retornado com HTTP 404 Not Found (por exemplo, error/404.html). Há suporte apenas para uma única página personalizada 404 em cada site estático. O valor diferencia maiúsculas de minúsculas.

Resposta

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Código de status

Uma operação bem-sucedida retorna o código de status 202 (Aceito).

Cabeçalhos de resposta

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
x-ms-request-id Identifica exclusivamente uma solicitação feita no serviço.
x-ms-version Especifica a versão da operação usada para a resposta. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, ele não estará presente na resposta.

Corpo da resposta

Nenhum.

Autorização

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a Set Blob Service Properties operação conforme descrito abaixo.

Importante

A Microsoft recomenda usar Microsoft Entra ID com identidades gerenciadas para autorizar solicitações para o Armazenamento do Azure. Microsoft Entra ID fornece segurança superior e facilidade de uso em comparação com a autorização de Chave Compartilhada.

O Armazenamento do Azure dá suporte ao uso de Microsoft Entra ID para autorizar solicitações para dados de blob. Com Microsoft Entra ID, você pode usar o RBAC (controle de acesso baseado em função) do Azure para conceder permissões a uma entidade de segurança. A entidade de segurança pode ser um usuário, um grupo, uma entidade de serviço de aplicativo ou uma identidade gerenciada do Azure. A entidade de segurança é autenticada por Microsoft Entra ID para retornar um token OAuth 2.0. Em seguida, o token pode ser usado para autorizar uma solicitação no serviço de Blob.

Para saber mais sobre a autorização usando Microsoft Entra ID, consulte Autorizar o acesso a blobs usando Microsoft Entra ID.

Permissões

Veja abaixo a ação RBAC necessária para um usuário Microsoft Entra, grupo, identidade gerenciada ou entidade de serviço para chamar a Set Blob Service Properties operação e a função rbac interna do Azure com privilégios mínimos que inclui esta ação:

Para saber mais sobre como atribuir funções usando o RBAC do Azure, confira Atribuir uma função do Azure para acesso aos dados de blob.

Comentários

As seguintes restrições e limitações aplicam-se a regras de CORS no Armazenamento do Azure:

  • No máximo cinco regras podem ser armazenadas.

  • O tamanho máximo de todas as configurações de regras cors na solicitação, excluindo marcas XML, não deve exceder 2 KiB.

  • O comprimento de um cabeçalho permitido, cabeçalho exposto ou origem permitida não deve exceder 256 caracteres.

  • Cabeçalhos expostos e cabeçalhos permitidos podem ser:

    • Cabeçalhos literais, nos quais o nome exato do cabeçalho é fornecido, como x-ms-meta-processed. Um máximo de 64 cabeçalhos literais pode ser especificado na solicitação.

    • Cabeçalhos prefixados, em que um prefixo do cabeçalho é fornecido, como x-ms-meta-data*. Especificar um prefixo dessa maneira permite ou expõe qualquer cabeçalho que comece com o prefixo especificado. Um máximo de dois cabeçalhos prefixados pode ser especificado na solicitação.

  • Os métodos (ou verbos HTTP) especificados no elemento AllowedMethods devem estar em conformidade com os métodos compatíveis com as APIs de Armazenamento do Azure. Os métodos com suporte são DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS e PUT.

Especificar as regras de CORS na solicitação é opcional. Se você chamar Set Blob Service Properties sem especificar o elemento Cors no corpo da solicitação, todas as regras cors existentes serão mantidas.

Para desabilitar o CORS, chame Set Blob Service Properties com uma configuração de regras CORS vazia (ou seja,</Cors> ) e sem regras internas de CORS. Essa chamada exclui todas as regras existentes e desabilita o CORS para o Armazenamento de Blobs.

Todos os elementos de regra CORS serão necessários se o elemento CorsRule for especificado. A solicitação falhará com o código de erro 400 (Bad Request) se algum elemento estiver ausente.

A partir da versão 2013-08-15, os elementos de configurações XML são opcionais, portanto, você pode atualizar um elemento específico enviando um XML que contém apenas o elemento atualizado. Outras configurações não são afetadas.

Para obter informações detalhadas sobre regras de CORS e lógica de avaliação, consulte Suporte a CORS para os serviços de Armazenamento do Azure.

Cobrança

As solicitações de preços podem ser originadas de clientes que usam APIs de Armazenamento de Blobs, diretamente por meio da API REST do Armazenamento de Blobs ou de uma biblioteca de clientes do Armazenamento do Azure. Essas solicitações acumulam encargos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura se acumulam em uma categoria de cobrança diferente das transações de gravação. A tabela a seguir mostra a categoria de cobrança para Set Blob Service Properties solicitações com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de cobrança
Definir propriedades do serviço Blob Blob de blocos Premium
Uso geral v2 Standard
Outras operações
Definir propriedades do serviço Blob Uso geral v1 Standard Operações de gravação

Para saber mais sobre os preços da categoria de cobrança especificada, confira Preços Armazenamento de Blobs do Azure.

Exemplo de solicitação e resposta

O URI de exemplo a seguir faz uma solicitação para alterar as propriedades do Armazenamento de Blobs para a conta de armazenamento fictícia chamada myaccount:

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

A solicitação é enviada com os seguintes cabeçalhos:

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  

A solicitação é enviada com o seguinte corpo XML:

<?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>  

Depois que a solicitação tiver sido enviada, a resposta a seguir será retornada:

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
  

Confira também

Análise de Armazenamento
Suporte a CORS para os serviços de Armazenamento do Azure
Especificação de HTTP do CORS