Obter Propriedades do Serviço Blob

A Get Blob Service Properties operação obtém as propriedades de uma conta Armazenamento de Blobs do Azure, incluindo propriedades para regras de partilha de recursos de Análise de Armazenamento e de várias origens (CORS).

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.

Pedir

Pode especificar o pedido da Get Blob Service Properties seguinte forma. Recomendamos que utilize HTTPS. Substitua <account-name> pelo nome da sua conta de armazenamento:

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

Nota

O URI tem de incluir sempre uma barra (/) para separar o nome do anfitrião das partes de caminho e consulta. No caso desta operação, a parte do caminho do URI está vazia.

Parâmetros URI

Parâmetro URI Description
restype=service&comp=properties Obrigatório. A combinação de ambas as cadeias de consulta é necessária para obter as propriedades do Armazenamento de Blobs.
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja 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 seguinte tabela:

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

Nenhum.

Resposta

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

Código de estado

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

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, este cabeçalho não está presente na resposta.

Corpo da resposta

Para a versão 2012-02-12 e anterior, o formato do corpo de resposta é 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>  
    <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>  
</StorageServiceProperties>  

A partir da versão 2013-08-15, o formato do corpo de resposta é 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>  
</StorageServiceProperties>  
  

A partir da versão 2017-07-29, o formato do corpo de resposta é 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>  
  

A partir da versão 2018-03-28, o formato do corpo de resposta é 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>  

A partir da versão 2019-12-12, o formato do corpo de resposta é 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>  

Os elementos do corpo da resposta estão descritos na tabela seguinte:

Nome do elemento Descrição
Registo Agrupa as definições de Registo do Azure Analytics.
Métricas Agrupa as definições de Métricas do Azure Analytics. As definições de Métricas fornecem um resumo das estatísticas de pedidos, agrupadas pela API em agregados por hora para blobs.
HourMetrics Agrupa as definições de HourMetrics do Azure Analytics. As definições HourMetrics fornecem um resumo das estatísticas de pedidos, agrupadas pela API em agregados por hora para blobs.
MinuteMetrics Agrupa as definições minuteMetrics do Azure Analytics. As definições MinuteMetrics fornecem estatísticas de pedidos para cada minuto para blobs.
Versão A versão do Análise de Armazenamento atualmente em utilização.
Eliminar Aplica-se apenas à configuração de registo. Indica se os pedidos de eliminação estão a ser registados.
Ler Aplica-se apenas à configuração de registo. Indica se os pedidos de leitura estão a ser registados.
Escrita Aplica-se apenas à configuração de registo. Indica se os pedidos de escrita estão a ser registados.
Ativado Indica se as métricas estão ativadas para o Armazenamento de Blobs.

Se a replicação georredundante de acesso de leitura estiver ativada, as métricas primárias e secundárias são recolhidas. Se a replicação georredundante de acesso de leitura não estiver ativada, apenas são recolhidas métricas primárias.
IncludeAPIs Aplica-se apenas à configuração de métricas. Indica se as métricas geram estatísticas de resumo para as chamadas operações de API.
RetentionPolicy/Enabled Indica se uma política de retenção está ativada para o Armazenamento do Azure.
RetentionPolicy/Days Indica o número de dias em que as métricas ou os dados de registo são retidos. Todos os dados mais antigos que este valor serão eliminados.
DefaultServiceVersion Indica a versão predefinida a utilizar para pedidos para o Armazenamento de Blobs se a versão de um pedido de entrada não for especificada. Os valores 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.
Cors Agrupa todas as regras CORS.
CorsRule Definições de grupos para uma regra CORS.
AllowedOrigins Uma lista separada por vírgulas de domínios de origem que são permitidos através de CORS ou "*" se todos os domínios forem permitidos.
ExposedHeaders Uma lista separada por vírgulas de cabeçalhos de resposta para expor aos clientes CORS.
MaxAgeInSeconds O número de segundos que o cliente/browser deve colocar em cache uma resposta de pré-voo.
AllowedHeaders Uma lista separada por vírgulas de cabeçalhos que podem fazer parte do pedido entre origens.
AllowedMethods 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, POST, OPTIONS e PUT.
DeleteRetentionPolicy Agrupa as definições de Eliminação do Azure. Aplica-se apenas ao Armazenamento de Blobs.
Ativado Indica se um blob ou instantâneo eliminado é retido ou imediatamente removido pela operação de eliminação.
Dias Indica o número de dias em que um blob eliminado deve ser retido. Todos os dados mais antigos que este valor serão eliminados permanentemente.
StaticWebsite Agrupa as definições de website estático . Aplica-se apenas ao Armazenamento de Blobs.
StaticWebsite/Enabled Indica se o suporte de website estático estático está ativado para a conta especificada.
StaticWebsite/IndexDocument 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 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 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). O valor é sensível às maiúsculas e minúsculas.

Autorização

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Pode autorizar a Get 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 Get 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

Nenhum. Veja informações de faturação para obter detalhes sobre como esta operação afeta os custos.

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 Get Blob Service Properties pedidos com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de faturação
Obter Propriedades do Serviço Blob Blob de blocos Premium
Standard para fins gerais v2
Outras operações
Obter Propriedades do Serviço Blob Standard para fins gerais v1 Operações de leitura

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

Pedido e resposta de exemplo

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

GET https://myaccount.blob.core.windows.net/?restype=service&comp=properties&timeout=30 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:36 GMT
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.blob.core.windows.net

Depois de o pedido ter sido enviado, é devolvida a seguinte resposta:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
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  

A resposta inclui 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>  
    <DefaultServiceVersion>2017-07-29</DefaultServiceVersion>
    <DeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>5</Days>
    </DeleteRetentionPolicy>
    <StaticWebsite>  
        <Enabled>true</Enabled>  
        <IndexDocument>index.html</IndexDocument>  
        <ErrorDocument404Path>error/404.html</ErrorDocument404Path>  
    </StaticWebsite>      
</StorageServiceProperties>    
  

Ver também

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