Definir propriedades do serviço Tabela
A Set Table Service Properties
operação define propriedades para o ponto de extremidade do Armazenamento de Tabelas do Azure de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento e regras cors (compartilhamento de recursos entre origens). Para obter mais informações sobre regras de CORS, consulte Suporte a CORS para os serviços de Armazenamento do Azure.
Solicitação
Você pode especificar a solicitação Set Table Service Properties
da seguinte maneira. Recomendamos HTTPS. Substitua account-name pelo nome da sua conta de armazenamento.
Método | URI da solicitação | Versão HTTP |
---|---|---|
PUT | https://account-name.table.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Observe que o URI sempre deve incluir a barra (/) para separar o nome do host do caminho e as partes de consulta do URI. 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 definir as propriedades para o serviço de Armazenamento do Azure. |
timeout |
Opcional. O parâmetro timeout é expresso em segundos. |
Cabeçalhos da solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais:
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. |
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>
</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-verb</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>
</StorageServiceProperties>
A partir da versão 2013-08-15, você pode chamar Set Table Service Properties
com um ou mais elementos raiz especificados no corpo da solicitação. Os elementos raiz incluem:
Logging
HourMetrics
MinuteMetrics
Cors
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. Mas 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 para a versão 2013-08-15 e posterior. Necessário para versões anteriores. Agrupa as configurações de Análise de ArmazenamentoLogging . |
Metrics |
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 configurações de Análise de ArmazenamentoMetrics . As configurações de Metrics fornecem um resumo das estatísticas de solicitação agrupadas por API em agregações de hora em hora para tabelas. |
HourMetrics |
Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as configurações de Análise de ArmazenamentoHourMetrics . As configurações de HourMetrics fornecem um resumo das estatísticas de solicitação agrupadas por API em agregações de hora em hora para tabelas. |
MinuteMetrics |
Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as configurações de Análise de ArmazenamentoMinuteMetrics . As configurações de MinuteMetrics fornecem estatísticas de solicitação para cada minuto para tabelas. Para as versões anteriores a 2013-08-15, MinuteMetrics não está incluído no corpo da resposta. |
Version |
Obrigatórios. Indica a versão do Análise de Armazenamento a ser configurada. |
Delete |
Obrigatórios. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de exclusão devem ser registradas em log. |
Read |
Obrigatórios. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de leitura devem ser registradas em log. |
Write |
Obrigatórios. É 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 serviço de Armazenamento do Azure. 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 georredundante de acesso de leitura não estiver habilitada, apenas 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 do Azure. |
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 do que esse valor serão excluídos. O valor mínimo que você pode especificar é 1 . O maior valor é 365 (um ano). |
Cors |
Opcional. Compatível com a versão 2013-08-15 e posterior. Agrupa todas as regras de CORS. Omitir esse grupo de elementos não substituirá as configurações existentes de CORS. |
CorsRule |
Opcional. Especifica uma regra CORS para o Armazenamento de Tabelas. Você pode incluir até cinco elementos CorsRule na solicitação. Se nenhum CorsRule elemento for incluído no corpo da solicitação, todas as regras CORS serão excluídas e o CORS será desabilitado para o Armazenamento de Tabelas. |
AllowedOrigins |
Necessário se o elemento CorsRule estiver presente. Fornece uma lista separada por vírgulas de domínios de origem que serão permitidos por meio do CORS ou contém * 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 CorsRule elemento estiver presente. Fornece uma lista separada por vírgulas de cabeçalhos de resposta a serem expostos a clientes 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 CorsRule elemento estiver presente. Indica o número de segundos em que o cliente ou navegador deve armazenar em cache uma resposta de pré-voo. |
AllowedHeaders |
Obrigatório se o CorsRule elemento existir. Fornece uma lista separada por vírgulas de cabeçalhos permitidos para fazer 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 CorsRule elemento existir. Fornece uma lista separada por vírgulas de métodos HTTP que a origem tem permissão para executar. Para o Armazenamento do Azure, os métodos permitidos são DELETE , GET , HEAD , MERGE , POST , , OPTIONS e PUT . |
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 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 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 |
Especifica um valor que 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 é igual ao valor do x-ms-client-request-id cabeçalho, se ele estiver presente na solicitação e o valor for no máximo 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
Nenhum.
Autorização
Somente o proprietário da conta pode chamar essa operação.
Comentários
As seguintes restrições e limitações aplicam-se a regras de CORS no Armazenamento do Azure:
Você pode armazenar no máximo cinco regras.
O tamanho máximo de todas as configurações de regra 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 permitidos e cabeçalhos expostos podem ser:
Cabeçalhos literais em que o nome exato do cabeçalho é fornecido, como
x-ms-meta-processed
. Você pode especificar um máximo de 64 cabeçalhos literais na solicitação.Cabeçalhos prefixados em que um prefixo do cabeçalho é fornecido, como
x-ms-meta-data\
. Especificar um prefixo dessa forma permite ou expõe qualquer cabeçalho que comece com esse prefixo. Você pode especificar um máximo de dois cabeçalhos prefixados na solicitação.
Os métodos (ou verbos HTTP) especificados no elemento devem estar em
AllowedMethods
conformidade com os métodos aos quais as APIs do serviço de Armazenamento do Azure dão suporte. Os métodos com suporte sãoDELETE
,GET
,HEAD
,MERGE
,POST
,OPTIONS
, ePUT
.
Especificar as regras de CORS na solicitação é opcional. Se você chamar Set Table Service Properties
sem especificar o elemento Cors
no corpo da solicitação, todas as regras de CORS existentes serão mantidas.
Para desabilitar o CORS, chame Set Table Service Properties
com configurações de regras CORS vazias (por exemplo, </Cors>
) e sem regras internas do CORS. Essa chamada exclui todas as regras existentes e desabilita o CORS para o Armazenamento de Tabelas.
Todos os elementos de regra CORS serão necessários se você especificar o CorsRule
elemento . Se algum elemento estiver ausente, a solicitação falhará com o código de erro 400 (Solicitação Incorreta).
A partir da versão 2013-08-15, os elementos para configurações XML são opcionais. Você pode atualizar um elemento específico enviando XML que contém apenas o elemento atualizado e não afeta outras configurações.
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.
Exemplo de solicitação e resposta
O URI de exemplo a seguir faz uma solicitação para alterar as propriedades do Armazenamento de Tabelas para a conta de armazenamento fictícia chamada myaccount:
PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1
A solicitação é enviada 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
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>
</StorageServiceProperties>
Depois que a solicitação é enviada, a seguinte resposta é retornada:
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