Definir propriedades de serviço de mesa

A Set Table Service Properties operação define propriedades para o ponto final do serviço de mesa de uma conta de armazenamento, incluindo propriedades para as regras Armazenamento Analytics e CORS (Cross-Origin Resource Sharing). Consulte o CORS Support for the Armazenamento Services para obter mais informações sobre as regras do CORS.

Pedir

O Set Table Service Properties pedido pode ser especificado da seguinte forma. HTTPS é recomendado. Substitua <account-name> pelo nome de sua conta de armazenamento.

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

Note que o URI deve incluir sempre o corte dianteiro (/) para separar o nome do hospedeiro do caminho e porções de consulta do URI. No caso desta operação, a parte do caminho do URI está vazia.

Parâmetros do URI

Parâmetro URI Descrição
restype=service&comp=properties Obrigatório. A combinação de ambas as cordas de consulta é necessária para definir as propriedades do serviço de armazenamento.
timeout Opcional. O timeout parâmetro é expresso em segundos.

Pedido cabeçalhos

A tabela seguinte descreve os cabeçalhos de pedido necessários e opcionais.

Cabeçalho do Pedido Description
Authorization Obrigatório. Especifica o regime de autorização, o nome da conta de armazenamento e a assinatura. Para mais informações, consulte Os pedidos autorizados à Azure Armazenamento.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para mais informações, consulte Os pedidos autorizados à Azure Armazenamento.
x-ms-version Requerido para todos os pedidos autorizados. Especifica a versão da operação a utilizar para este pedido. Para mais informações, consulte a versão para os Serviços Azure Armazenamento.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres de 1 KiB que é gravado nos registos de análise quando o registo de análise de armazenamento está ativado. Recomenda-se a utilização deste cabeçalho para correlacionar as atividades do lado do cliente com os pedidos recebidos pelo servidor. Para obter mais informações, consulte Sobre Armazenamento Analítica registação e registo de registos Azure: Utilização de Registos para rastrear pedidos de Armazenamento.

Corpo do Pedido

Para a versão 2012-02-12 e anterior, o formato do corpo de 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>  
</StorageServiceProperties>  

Para a versão 2013-08-15 e posteriormente, o formato do corpo de 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-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

Começando pela versão 2013-08-15, pode ligar Set Table Service Properties com um ou mais elementos de raiz especificados no corpo de pedido. Os elementos de raiz incluem:

  • Registo

  • HourMetrics

  • MinuteMetrics

  • Rio Cors

Já não é necessário especificar todos os elementos de raiz no pedido. Se omitir um elemento de raiz, as definições existentes para o serviço para essa funcionalidade são preservadas. No entanto, se especificar um determinado elemento de raiz, deve especificar todos os elementos da criança para esse elemento.

A tabela a seguir descreve os elementos do organismo de pedido:

Nome do Elemento Descrição
Registo Início opcional com a versão 2013-08-15. Necessário para versões anteriores. Agrum as definições de Registo de Registo azure Analytics.
Métricas Obrigatório para a versão 2012-02-12 e mais cedo. Não aplicável à versão 2013-08-15 ou posterior. Agrum as definições de Azure Analytics Metrics. As definições de Métricas fornecem um resumo das estatísticas de pedido agrupadas pela API em agregados horárias para tabelas.
HourMetrics Opcional para a versão 2013-08-15 ou posterior; não aplicável para versões anteriores. Agrum as definições Azure Analytics HourMetrics. As definições hourMetrics fornecem um resumo das estatísticas de pedido agrupadas pela API em agregados horários para tabelas.
MinuteMetrics Opcional para a versão 2013-08-15 ou posterior; não aplicável para versões anteriores. Agrum as definições Azure Analytics MinuteMetrics. As definições MinuteMetrics fornecem estatísticas de pedido para cada minuto para tabelas. Para versões anteriores a 2013-08-15, o MinuteMetrics não está incluído no organismo de resposta.
Versão Obrigatório. A versão de Armazenamento Analytics para configurar.
Eliminar Obrigatório. Aplica-se apenas à configuração de registo. Indica se todos os pedidos de eliminação devem ser registados.
Ler Obrigatório. Aplica-se apenas à configuração de registo. Indica se todos os pedidos de leitura devem ser registados.
Escrever Obrigatório. 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 serviço de armazenamento.

Se a replicação geo-redundante de acesso à leitura estiver ativada, são recolhidas métricas primárias e secundárias. Se a replicação geo-redundante de acesso à leitura não estiver ativada, apenas são recolhidas métricas primárias.
Incluir ASE Só é necessário se as métricas estiverem ativadas. Aplica-se apenas à configuração de métricas. Indica se as métricas devem gerar estatísticas sumárias para as operações chamadas API.
Política de Retenção/Ativado Obrigatório. Indica se uma política de retenção está ativada para o serviço de armazenamento.
Retenção Política/Dias Só é necessário se for ativada uma política de retenção. Indica o número de dias em que as métricas ou os dados de registo devem ser mantidos. Todos os dados mais antigos que este valor serão eliminados. O valor mínimo que pode especificar 1 é; o maior valor é 365 (um ano).
Rio Cors Opcional. O elemento Cors é suportado para a versão 2013-08-15 ou mais tarde. Agrum todas as regras do CORS.

Omitir este grupo de elementos não substituirá as definições de CORS existentes.
Rio Corsrule Opcional. Especifica uma regra CORS para o serviço tabela. Pode incluir até cinco elementos CorsRule no pedido. Se nenhum elemento CorsRule estiver incluído no organismo de pedido, todas as regras CORS serão eliminadas e o CORS será desativado para o serviço de tabela.
PermitidoOrigins Necessário se o elemento CorsRule estiver presente. Uma lista de domínios de origem separados por vírgula que será permitida através de CORS, ou "*" para permitir todos os domínios. Limitado a 64 domínios de origem. Cada origem permitida pode ter até 256 caracteres.
Cabeças expostas Necessário se o elemento CorsRule estiver presente. Uma lista separada por vírgula de cabeçalhos de resposta para expor aos clientes CORS. Limitado a 64 cabeçalhos definidos e dois cabeçalhos pré-fixados. Cada cabeçalho pode ter até 256 caracteres.
MaxAgeInSeconds Necessário se o elemento CorsRule estiver presente. O número de segundos que o cliente/navegador deve cache uma resposta pré-voo.
PermitidoHeaders Necessário se o elemento CorsRule existir. Uma lista separada de vírgulas de cabeçalhos permitiu fazer parte do pedido de origem cruzada. Limitado a 64 cabeçalhos definidos e 2 cabeçalhos pré-fixados. Cada cabeçalho pode ter até 256 caracteres.
Permitidos Metros Necessário se o elemento CorsRule existir. Uma lista separada por vírgula de métodos HTTP que podem ser executados pela origem. Para a Azure Armazenamento, os métodos permitidos são DELETE, GET, HEAD, MERGE, POST, OPTIONS OU PUT.

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 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 standard estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de Resposta Descrição
x-ms-request-id Um valor que identifica de forma única um pedido feito contra o serviço.
x-ms-version Especifica a versão da operação utilizada para a resposta. Para mais informações, consulte a versão para os Serviços Azure Armazenamento.
x-ms-client-request-id Este cabeçalho pode ser usado para resolver 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 for no máximo 1024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, este cabeçalho não estará presente na resposta.

Corpo de Resposta

Nenhum.

Autorização

Só o proprietário da conta pode ligar para esta operação.

Observações

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

  • Um máximo de cinco regras pode ser armazenada.

  • O tamanho máximo de todas as definições de regras CORS no pedido, excluindo as 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 256 caracteres.

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

    • Cabeçalhos literais, onde o nome exato do cabeçalho é fornecido, como x-ms-processos. No máximo, podem ser especificados 64 cabeçalhos literais no pedido.

    • Cabeçalhos pré-fixados, onde é fornecido um prefixo do cabeçalho, tais como x-ms-me-data *. Especificar um prefixo desta forma permite ou expõe qualquer cabeçalho que comece com o prefixo dado. No pedido, pode ser especificado um máximo de dois cabeçalhos pré-fixados.

  • Os métodos (ou verbos HTTP) especificados no elemento AllowedMethods devem estar em conformidade com os métodos suportados pelas APIs do serviço de armazenamento Azure. Os métodos suportados são DELETE, GET, HEAD, MERGE, POST, OPTIONS E PUT.

Especificar as regras do CORS sobre o pedido é opcional. Se ligar Set Table Service Properties sem especificar o elemento Cors no organismo de pedido, quaisquer regras cors existentes são mantidas.

Para desativar o CORS, ligue Set Table Service Properties com as definições de regras CORS vazias (isto é, </Cors> ) e sem regras CORS interiores. Esta chamada elimina quaisquer regras existentes, desativando o CORS para o serviço table.

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

Começando pela versão 2013-08-15, os elementos de definições XML serão opcionais, pelo que a atualização de um elemento específico pode ser feita enviando um XML que contém apenas o elemento atualizado e outras definições não serão afetadas.

Para obter informações detalhadas sobre as regras do CORS e a lógica de avaliação, consulte o CORS Support for the Armazenamento Services.

Pedido e Resposta da Amostra

A amostra seguinte URI faz um pedido para alterar as propriedades de serviço de tabela para a conta de armazenamento fictício denominada myaccount:

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

O pedido é enviado com os seguintes cabeçalhos:

x-ms-version: 2013-08-15  
x-ms-date: Mon, 21 Oct 2013 04:38:23 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.table.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>  
</StorageServiceProperties>  
  

Após o envio do pedido, é devolvida a seguinte resposta:

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Mon, 21 Oct 2013 04:38:24 GMT  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Consulte também