Definir Propriedades do Serviço Blob

A Set Blob Service Properties operação define propriedades para o ponto final do Armazenamento de Blobs de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento, regras de partilha de recursos de várias origens (CORS) e definições de eliminação recuperável.

Também pode utilizar esta operação para definir a versão de pedido predefinida para todos os pedidos recebidos no Armazenamento de Blobs que não tenham uma versão especificada.

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

Pedir

O Set Blob Service Properties pedido pode ser especificado da seguinte forma. Recomendamos que utilize HTTPS. Substitua account-name pelo nome da sua conta de armazenamento:

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

Nota

O URI tem de incluir sempre um caráter de barra (/) para separar o nome do anfitrião das partes do caminho e da consulta do URI. Nesta operação, a parte do caminho do URI está vazia.

Parâmetros do URI

Parâmetro URI Description
restype=service&comp=properties Obrigatório. A combinação de ambas as cadeias de consulta é necessária para definir as propriedades do serviço de armazenamento.
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Set time-outs for Blob Storage operations (Definir tempos limite para operações de Armazenamento de Blobs).

Cabeçalhos do pedido

Os cabeçalhos de pedido obrigatórios e opcionais estão descritos na tabela seguinte:

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta de armazenamento e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Necessário para todos os pedidos autorizados. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar Armazenamento de Blobs do Azure.

Corpo do pedido

Para a versão 2012-02-12 e anterior, o formato do corpo do pedido é 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 do corpo do pedido é 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 do pedido é 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 do pedido é 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 do pedido é 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, pode chamar Set Blob Service Properties com um ou mais elementos raiz especificados no corpo do pedido. Os elementos raiz incluem:

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

Já não é necessário especificar todos os elementos raiz no pedido. Se omitir um elemento raiz, as definições existentes do serviço para essa funcionalidade serão preservadas. No entanto, se especificar um elemento raiz, tem de especificar todos os elementos subordinados para esse elemento.

A tabela seguinte descreve os elementos do corpo do pedido:

Nome do elemento Descrição
Registo Opcional a partir da versão 2013-08-15. Necessário para versões anteriores. Agrupa as definições do Registo do Azure Analytics.
Métricas Necessário para a versão 2012-02-12 e anterior. Não aplicável para a versão 2013-08-15 e posterior. Agrupa as definições de Métricas do Azure Analytics, que fornecem um resumo das estatísticas de pedidos agrupadas pela API em agregados por hora para blobs.
HourMetrics Opcional para a versão 2013-08-15 e posterior; não aplicável a versões anteriores. Agrupa as definições HourMetrics do Azure Analytics, que fornecem um resumo das estatísticas de pedidos 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. Agrupa as definições minuteMetrics do Azure Analytics, que fornecem estatísticas de pedidos para cada minuto para blobs. Para versões anteriores a 2013-08-15, o MinuteMetrics não está incluído no corpo da resposta.
Versão Necessário se as definições Registo, Métricas, HourMetrics ou MinuteMetrics forem especificadas. A versão do Análise de Armazenamento a configurar.
Eliminar Necessário se as definições Registo, Métricas, HourMetrics ou MinuteMetrics forem especificadas. Aplica-se apenas à configuração de registo. Indica se todos os pedidos de eliminação devem ser registados.
Ler Necessário se as definições Registo, Métricas, HourMetrics ou MinuteMetrics forem especificadas. Aplica-se apenas à configuração de registo. Indica se todos os pedidos de leitura devem ser registados.
Escrita Necessário se as definições Registo, Métricas, HourMetrics ou MinuteMetrics forem especificadas. Aplica-se apenas à configuração de registo. Indica se todos os pedidos de escrita devem ser registados.
Ativado Obrigatório. Indica se as métricas estão ativadas para o Armazenamento de Blobs.

Se a replicação georredundante com acesso de leitura estiver ativada, as métricas primária e secundária são recolhidas. Se a replicação georredundante com acesso de leitura não estiver ativada, apenas são recolhidas as métricas principais.
IncludeAPIs Obrigatório apenas se as métricas estiverem ativadas. Aplica-se apenas à configuração de métricas. Indica se as métricas devem gerar estatísticas de resumo para as operações de API denominadas.
RetentionPolicy/Enabled Obrigatório. Indica se uma política de retenção está ativada para o serviço de armazenamento.
RetentionPolicy/Days Necessário apenas se uma política de retenção estiver ativada. Indica o número de dias em que as métricas ou os dados de registo devem ser retidos. Todos os dados mais antigos que este valor são eliminados. O valor mínimo que pode especificar é 1; o maior valor é 365 (um ano).
RetentionPolicy/AllowPermanentDelete Opcional, versão 2020-02-10 e posterior. Permite-lhe ativar a eliminação permanente na conta de armazenamento. O valor predefinido é false.
DefaultServiceVersion Opcional. Para definir DefaultServiceVersion, chame Set Blob Service Properties com a versão 2011-08-18 e posterior. DefaultServiceVersion indica a versão predefinida a utilizar para pedidos para o Armazenamento de Blobs se não for especificada a versão de um pedido recebido. Os valores possíveis incluem a versão 2008-10-27 e posterior. Para obter mais informações sobre as versões aplicáveis, veja Controlo de versões dos serviços de Armazenamento do Azure.

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

Omitir este grupo de elementos não substitui as definições CORS existentes.
CorsRule Opcional. Especifica uma regra CORS para o Armazenamento de Blobs. Pode incluir até cinco elementos CorsRule no pedido. Se não forem incluídos elementos CorsRule no corpo do pedido, todas as regras CORS serão eliminadas e o CORS será desativado para o Armazenamento de Blobs.
AllowedOrigins Necessário se o elemento CorsRule estiver presente. Uma lista separada por vírgulas de domínios de origem permitidos através de CORS ou "*" para permitir todos os domínios. Um domínio de origem também pode incluir um caráter universal no subdomínio para permitir pedidos através do CORS para todos os subdomínios de um domínio. Limitado a 64 domínios de origem. Cada origem permitida pode ter até 256 carateres.
ExposedHeaders Necessário se o elemento CorsRule estiver presente. Uma lista separada por vírgulas de cabeçalhos de resposta para expor aos clientes CORS. Limitado a 64 cabeçalhos definidos e dois cabeçalhos com prefixo. Cada cabeçalho pode ter até 256 carateres.
MaxAgeInSeconds Necessário se o elemento CorsRule estiver presente. O número de segundos que o cliente/browser deve colocar em cache uma resposta de verificação prévia.
AllowedHeaders Necessário se o elemento CorsRule existir. Uma lista separada por vírgulas de cabeçalhos permitidos para fazer parte do pedido de várias origens. Limitado a 64 cabeçalhos definidos e 2 cabeçalhos com prefixo. Cada cabeçalho pode ter até 256 carateres.
AllowedMethods Necessário se o elemento CorsRule existir. Uma lista separada por vírgulas de métodos HTTP que podem ser 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 com a versão 2017-07-29 e posterior. Agrupa as definições de eliminação recuperável. Aplica-se apenas ao Armazenamento de Blobs.
DeleteRetentionPolicy/Enabled Obrigatório. Indica se o blob ou instantâneo eliminado é retido ou imediatamente removido por uma operação de eliminação.
DeleteRetentionPolicy/Days Obrigatório apenas se DeleteRetentionPolicy/Enabled for verdadeiro. Indica o número de dias em que o blob eliminado foi retido. Todos os dados mais antigos que este valor são eliminados permanentemente. O valor mínimo que pode especificar é 1; o maior valor é 365.
StaticWebsite Opcional. Para definir as propriedades StaticWebsite , chame Set Blob Service Properties com a versão 2018-03-28 e posterior. Aplica-se apenas ao Armazenamento de Blobs.
StaticWebsite/Ativado Obrigatório. Indica se o suporte do site estático está ativado para a conta especificada.
StaticWebsite/IndexDocument Opcional. A página Web que o Armazenamento do Azure serve para pedidos para a raiz de um site ou de qualquer subpasta (por exemplo, index.html). O valor é sensível às maiúsculas e minúsculas.
StaticWebsite/DefaultIndexDocumentPath Opcional. O caminho absoluto para uma página Web que o Armazenamento do Azure serve para pedidos que não correspondem a um ficheiro existente. Os conteúdos da página são devolvidos com HTTP 200 OK (por exemplo, index.html). O elemento é mutuamente exclusivo com StaticWebsite/IndexDocument. O valor é sensível às maiúsculas e minúsculas.
StaticWebsite/ErrorDocument404Path Opcional. O caminho absoluto para uma página Web que o Armazenamento do Azure serve para pedidos que não correspondem a um ficheiro existente. Os conteúdos da página são devolvidos com HTTP 404 Not Found (por exemplo, error/404.html). Só é suportada uma única página 404 personalizada em cada site estático. O valor é sensível às maiúsculas e minúsculas.

Resposta

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

Código de estado

Uma operação bem-sucedida devolve o código de estado 202 (Aceite).

Cabeçalhos de resposta

A resposta para esta operação inclui os seguintes cabeçalhos. A resposta também pode incluir cabeçalhos HTTP padrão 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 um pedido feito contra o serviço.
x-ms-version Especifica a versão da operação utilizada para a resposta. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-client-request-id Pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho se estiver presente no pedido e o valor não contiver mais de 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, 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. Pode autorizar a Set Blob Service Properties operação conforme descrito abaixo.

O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos para dados de blobs. Com Microsoft Entra ID, pode utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) para conceder permissões a um principal de segurança. O principal de segurança pode ser um utilizador, grupo, principal de serviço de aplicação ou identidade gerida do Azure. O principal de segurança é autenticado por Microsoft Entra ID para devolver um token OAuth 2.0. Em seguida, o token pode ser utilizado para autorizar um pedido contra o serviço Blob.

Para saber mais sobre a autorização através de Microsoft Entra ID, veja Autorizar o acesso a blobs com Microsoft Entra ID.

Permissões

Abaixo estão listadas as ações RBAC necessárias para que um utilizador, grupo ou principal de serviço Microsoft Entra chame a Set Blob Service Properties operação e a função RBAC do Azure com menos privilégios que inclua esta ação:

Para saber mais sobre como atribuir funções com o RBAC do Azure, veja Atribuir uma função do Azure para acesso a dados de blobs.

Observações

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

  • Pode armazenar um máximo de cinco regras.

  • O tamanho máximo de todas as definições de regras CORS no pedido, excluindo etiquetas XML, não deve exceder 2 KiB.

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

  • Os cabeçalhos permitidos e os cabeçalhos expostos podem ser:

    • Cabeçalhos literais, onde é fornecido o nome exato do cabeçalho, como x-ms-meta-processed. Pode ser especificado um máximo de 64 cabeçalhos literais no pedido.

    • Cabeçalhos com prefixo, em que é fornecido um prefixo do cabeçalho, como x-ms-meta-data*. Especificar um prefixo desta forma permite ou expõe qualquer cabeçalho que comece com o prefixo especificado. Pode ser especificado um máximo de dois cabeçalhos prefixos no pedido.

  • Os métodos (ou verbos HTTP) especificados no elemento AllowedMethods têm de estar em conformidade com os métodos suportados pelas APIs de Armazenamento do Azure. Os métodos suportados são DELETE, GET, HEAD, MERGE, PATCH, POST, OPTIONS e PUT.

Especificar regras CORS no pedido é opcional. Se ligar Set Blob Service Properties sem especificar o elemento Cors no corpo do pedido, serão mantidas quaisquer regras CORS existentes.

Para desativar o CORS, chame Set Blob Service Properties com uma definição de regras CORS vazia (ou seja,</Cors> ) e sem regras CORS internas. Esta chamada elimina quaisquer regras existentes e desativa o CORS para o Armazenamento de Blobs.

Todos os elementos da regra CORS são necessários se o elemento CorsRule for especificado. O pedido falha com o código de erro 400 (Bad Request) se algum elemento estiver em falta.

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

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

Faturação

Os pedidos de preços podem ter origem em clientes que utilizam APIs de Armazenamento de Blobs, diretamente através da API REST do Armazenamento de Blobs ou a partir de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam custos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura acumulam-se numa categoria de faturação diferente das transações de escrita. A tabela seguinte mostra a categoria de faturação dos Set Blob Service Properties pedidos com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de faturação
Definir Propriedades do Serviço blob Blob de bloco premium
Standard para fins gerais v2
Outras operações
Definir Propriedades do Serviço blob Standard para fins gerais v1 Operações de escrita

Para saber mais sobre os preços da categoria de faturação especificada, veja Armazenamento de Blobs do Azure Preços.

Pedido de exemplo e resposta

O seguinte URI de exemplo faz um pedido para alterar as propriedades do Armazenamento de Blobs para a conta de armazenamento fictícia com o nome myaccount:

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

O pedido é enviado 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  

O pedido é enviado 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>  

Após o pedido ser enviado, é devolvida a seguinte resposta:

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
  

Ver também

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