Definir Propriedades do Serviço de Fila

A Set Queue Service Properties operação define as propriedades do ponto final de serviço Fila de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento e regras de partilha de recursos transversais à origem (CORS). Veja Suporte do CORS para os Serviços de Armazenamento para obter mais informações sobre as regras CORS.

Pedir

Pode especificar o pedido da Set Queue 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
PUT https://account-name.queue.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 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 do Azure.
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Set time-outs for Queue service operations (Definir tempos limite para operações do serviço Fila).

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 o Armazenamento de Filas 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>  
</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-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>  

A partir da versão 2013-08-15, pode chamar Set Queue Service Properties com um ou mais elementos raiz especificados no corpo do pedido. Os elementos raiz incluem:

  • Registo
  • HourMetrics
  • MinuteMetrics
  • Cors

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 especificado, tem de especificar cada elemento subordinado para esse elemento.

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

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 de Registo de Análise de Armazenamento.
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 Análise de Armazenamento. As definições de Métricas fornecem um resumo das estatísticas de pedido agrupadas pela API em agregações por hora para filas.
HourMetrics Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as definições Análise de Armazenamento HourMetrics. As definições HourMetrics fornecem um resumo das estatísticas de pedido agrupadas pela API em agregações por hora para filas.
MinuteMetrics Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as definições Análise de Armazenamento MinuteMetrics. As definições MinuteMetrics fornecem estatísticas de pedidos para cada minuto para filas. 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.
Escrever 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 serviço Fila.

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 serão eliminados. O valor mínimo que pode especificar é 1e o valor máximo é 365 (um ano).
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 substituirá as definições CORS existentes.
CorsRule Opcional. Especifica uma regra CORS para o serviço Fila. 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 serviço Fila.
AllowedOrigins Necessário se o elemento CorsRule estiver presente. Uma lista separada por vírgulas de domínios de origem que serão 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 conter 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 conter 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, POST, OPTIONSou PUT.

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 relativamente ao serviço.
x-ms-version Especifica a versão da operação que foi 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

Apenas o proprietário da conta pode chamar esta operação.

Observações

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

  • Pode ser armazenado 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 um dos seguintes:

    • 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 com prefixo no pedido.

  • Os métodos (ou verbos HTTP) especificados no elemento têm de estar em AllowedMethods conformidade com os métodos suportados pelas APIs do serviço de Armazenamento do Azure. Os métodos suportados são , , , , , POSTe PUTOPTIONS. MERGEHEADGETDELETE

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

Para desativar o CORS, chame Set Queue Service Properties com definições de regras CORS vazias (ou seja, *</Cors>) e sem regras CORS internas. Esta chamada elimina todas as regras existentes e desativa o CORS para o serviço Fila.

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 ao enviar 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.

Pedido e resposta de exemplo

O URI de exemplo seguinte faz um pedido para alterar as propriedades do serviço Fila para uma conta de armazenamento fictícia com o nome myaccount:

PUT https://myaccount.queue.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: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.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>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> 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 de o pedido ter sido enviado, é devolvida a seguinte resposta:

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

Ver também

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