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 cors (compartilhamento de recursos entre origens) e Análise de Armazenamento.
Para obter informações detalhadas sobre regras de CORS e lógica de avaliação, consulte Suporte do CORS para os serviços de Armazenamento do Azure.
Solicitação
Você pode especificar a solicitação Get Blob Service Properties
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 |
---|---|---|
GET | https://<account-name>.blob.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Observação
O URI sempre deve incluir uma barra (/) para separar o nome do host das partes de caminho e consulta. No caso dessa operação, a parte do caminho do URI fica vazia.
Parâmetros do URI
Parâmetro do URI | Descrição |
---|---|
restype=service&comp=properties |
Obrigatórios. A combinação de ambas as cadeias de caracteres de consulta é necessária para obter as propriedades do Armazenamento de Blobs. |
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
Nenhum.
Resposta
A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e um corpo de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 200 (OK).
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, esse cabeçalho não estará presente na resposta. |
Corpo da resposta
Para a versão 2012-02-12 e anterior, o formato da 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 da 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 da 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 da 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 da 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 seguinte tabela:
Nome do elemento | Descrição |
---|---|
Logging | Agrupa as configurações de Logging da Análise do Azure. |
Métricas | Grupos as configurações de Métricas do Azure Analytics. As configurações de Métricas fornecem um resumo das estatísticas de solicitação, agrupadas pela API em agregações por hora para blobs. |
HourMetrics | Agrupa as configurações de HourMetrics da Análise do Azure. As configurações de HourMetrics fornecem um resumo das estatísticas de solicitação, agrupadas pela API em agregações por hora para blobs. |
MinuteMetrics | Agrupa as configurações de MinuteMetrics da Análise do Azure. As configurações de MinuteMetrics fornecem estatísticas de solicitação para cada minuto para blobs. |
Versão | A versão do Storage Analytics em uso no momento. |
Excluir | É aplicável apenas à configuração de geração de logs. Indica se as solicitações de exclusão estão sendo registradas em log. |
Leitura | É aplicável apenas à configuração de geração de logs. Indica se as solicitações de leitura estão sendo registradas em log. |
Gravar | É aplicável apenas à configuração de geração de logs. Indica se as solicitações de gravação estão sendo registradas em log. |
Enabled | 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 | É aplicável apenas à configuração de métrica. Indica se a métrica gera estatísticas de resumo para operações chamadas de API. |
RetentionPolicy/Enabled | Indica se uma política de retenção está habilitada para o Armazenamento do Azure. |
RetentionPolicy/Days | Indica o número de dias em que a métrica ou os dados de log são mantidos. Todos os dados mais antigos que esse valor serão excluídos. |
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 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. |
Cors | Agrupa todas as regras de CORS. |
CorsRule | Agrupa as configurações para uma regra de CORS. |
AllowedOrigins | Uma lista de domínios de origem separados por vírgulas que são permitidos nos CORS ou “*” se todos os domínios forem permitidos. |
ExposedHeaders | Uma lista de cabeçalhos de resposta separados por vírgulas para expor para clientes de CORS. |
MaxAgeInSeconds | O número de segundos que o cliente/navegador deve armazenar em cache uma resposta de simulação. |
AllowedHeaders | Uma lista separada por vírgulas de cabeçalhos que têm permissão para fazer parte da solicitação entre origens. |
AllowedMethods | 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, POST, OPTIONS e PUT. |
DeleteRetentionPolicy | Grupos as configurações de Exclusão do Azure. Aplica-se somente ao Armazenamento de Blobs. |
Enabled | Indica se um blob ou instantâneo excluído é retido ou imediatamente removido pela operação de exclusão. |
Dias | Indica o número de dias em que um blob excluído deve ser retido. Todos os dados mais antigos que esse valor serão excluídos permanentemente. |
StaticWebsite | Grupos as configurações de staticwebsite. Aplica-se somente ao Armazenamento de Blobs. |
StaticWebsite/Enabled | Indica se o suporte a staticwebsite está habilitado para a conta especificada. |
StaticWebsite/IndexDocument | A página da Web que o Armazenamento do Azure serve para solicitações à raiz de um site ou de qualquer subpasta (por exemplo, index.html ). O valor diferencia maiúsculas de minúsculas. |
StaticWebsite/DefaultIndexDocumentPath | O caminho absoluto para uma página da Web que o Armazenamento do Azure serve 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 | O caminho absoluto para uma página da Web que o Armazenamento do Azure serve 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 ). O valor diferencia maiúsculas de minúsculas. |
Autorização
A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a Get Blob Service Properties
operação, conforme descrito abaixo.
Importante
A Microsoft recomenda usar Microsoft Entra ID com identidades gerenciadas para autorizar solicitações ao 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, grupo, entidade de serviço de aplicativo ou 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 Get Blob Service Properties
operação e a função RBAC interna do Azure com menos privilégios que inclui esta ação:
- Ação RBAC do Azure:Microsoft.Storage/storageAccounts/blobServices/read
- Função interna com privilégios mínimos:Colaborador da Conta de Armazenamento
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
Nenhum. Consulte informações de cobrança para obter detalhes sobre como essa operação afeta os custos.
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 Get Blob Service Properties
solicitações com base no tipo de conta de armazenamento:
Operação | Tipo de conta de armazenamento | Categoria de cobrança |
---|---|---|
Obter propriedades do serviço Blob | Blob de blocos Premium Uso geral v2 Standard |
Outras operações |
Obter propriedades do serviço Blob | Uso geral v1 Standard | Operações de leitura |
Para saber mais sobre os preços para a categoria de cobrança especificada, consulte Armazenamento de Blobs do Azure Preços.
Exemplo de solicitação e resposta
O URI de exemplo a seguir faz uma solicitação para obter propriedades do Armazenamento de Blobs para uma conta de armazenamento fictícia chamada myaccount:
GET https://myaccount.blob.core.windows.net/?restype=service&comp=properties&timeout=30 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:36 GMT
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.blob.core.windows.net
Depois que a solicitação tiver sido enviada, a resposta a seguir será retornada:
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>
Confira também
Análise de Armazenamento
Suporte do CORS para os serviços de Armazenamento do Azure
Especificação de HTTP do CORS