Definir propriedades do serviço Fila

A Set Queue Service Properties operação define propriedades para o ponto de extremidade de serviço Fila de uma conta de armazenamento, incluindo propriedades para Análise de Armazenamento e regras de CORS (compartilhamento de recursos entre origens). Consulte Suporte a CORS para os Serviços de Armazenamento para obter mais informações sobre regras de CORS.

Solicitação

Você pode especificar a solicitação Set Queue 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
PUT https://account-name.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1

Observação

O URI sempre deve incluir um caractere de barra (/) para separar o nome do host do caminho e das partes de consulta do URI. Nesta operação, a parte do caminho do URI está vazia.

Parâmetros do URI

Parâmetro 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 do serviço de Armazenamento do Azure.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de serviço fila.

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 o Armazenamento de Filas do Azure.

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-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, você pode chamar Set Queue 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. No entanto, se você especificar um elemento raiz especificado, deverá especificar cada elemento filho para esse elemento.

Os elementos do corpo da solicitação são descritos na tabela a seguir:

Nome do elemento Descrição
Logging Opcional a partir da versão 2013-08-15. Necessário para versões anteriores. Agrupa as configurações de log do 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 configurações de Métricas do Análise de Armazenamento. 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 filas.
HourMetrics Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as configurações Análise de Armazenamento HourMetrics. 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 filas.
MinuteMetrics Opcional para a versão 2013-08-15 e posterior. Não aplicável a versões anteriores. Agrupa as configurações Análise de Armazenamento MinuteMetrics. As configurações de MinuteMetrics fornecem estatísticas de solicitação para cada minuto para filas. Para versões anteriores a 2013-08-15, MinuteMetrics não está incluído no corpo da resposta.
Versão Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. A versão do Storage Analytics a ser configurada.
Excluir Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de exclusão devem ser registradas em log.
Leitura Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É aplicável apenas à configuração de geração de logs. Indica se todas as solicitações de leitura devem ser registradas em log.
Gravar Obrigatório se as configurações de Log, Métricas, HourMetrics ou MinuteMetrics forem especificadas. É 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 a métrica está habilitada para o serviço Fila.

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 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.
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 que esse valor serão excluídos. O valor mínimo que você pode especificar é 1e o valor máximo é 365 (um ano).
Cors Opcional. O elemento Cors tem suporte para 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 a regra de CORS para o serviço Fila. Você pode incluir até cinco elementos CorsRule na solicitação. Se nenhum elemento CorsRule estiver incluído no corpo da solicitação, todas as regras CORS serão excluídas e o CORS será desabilitado para o serviço Fila.
AllowedOrigins Obrigatório se o elemento CorsRule estiver presente. Uma lista de domínios de origem separados por vírgulas que serão permitidos nos CORS ou “*” 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 elemento CorsRule estiver presente. Uma lista de cabeçalhos de resposta separados por vírgulas para expor para clientes de CORS. Limitado a 64 cabeçalhos definidos e dois cabeçalhos prefixados. Cada cabeçalho pode conter até 256 caracteres.
MaxAgeInSeconds Obrigatório se o elemento CorsRule estiver presente. O número de segundos que o cliente/navegador deve armazenar em cache uma resposta de simulação.
AllowedHeaders Obrigatório se o elemento CorsRule existir. Uma lista de cabeçalhos separados por vírgulas com permissão para fazerem parte da solicitação entre origens. Limitado a 64 cabeçalhos definidos e 2 cabeçalhos prefixados. Cada cabeçalho pode conter até 256 caracteres.
AllowedMethods Obrigatório se o elemento CorsRule existir. 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, OPTIONSou PUT.

Resposta

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos 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 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 que foi 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, ele 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:

  • No máximo cinco regras podem ser armazenadas.

  • O tamanho máximo de todas as configurações de regras 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 um dos seguintes:

    • Cabeçalhos literais, onde o nome exato do cabeçalho é fornecido, como x-ms-meta-processed. Um máximo de 64 cabeçalhos literais pode ser especificado na solicitação.

    • Cabeçalhos prefixados, onde é fornecido um prefixo para o cabeçalho, como x-ms-meta-data*. Especificar um prefixo dessa maneira permite ou expõe qualquer cabeçalho que comece com o prefixo especificado. Um máximo de dois cabeçalhos prefixados pode ser especificado na solicitação.

  • Os métodos (ou verbos HTTP) especificados no AllowedMethods elemento devem estar em conformidade com os métodos compatíveis com as APIs do serviço de Armazenamento do Azure. Os métodos com suporte são DELETE, GET, HEAD, MERGE, POST, OPTIONS, e PUT.

Especificar as regras de CORS na solicitação é opcional. Se você chamar Set Queue Service Properties sem especificar o elemento Cors no corpo da solicitação, todas as regras cors existentes serão mantidas.

Para desabilitar o CORS, chame Set Queue Service Properties com configurações de regras CORS vazias (ou seja, *</Cors>) e sem regras internas do CORS. Essa chamada exclui todas as regras existentes e desabilita o CORS para o serviço Fila.

Todos os elementos de regra CORS serão necessários se o elemento CorsRule for especificado. A solicitação falhará com o código de erro 400 (Bad Request) se algum elemento estiver ausente.

A partir da versão 2013-08-15, os elementos de configurações XML são opcionais, para que você possa atualizar um elemento específico enviando um XML que contém apenas o elemento atualizado. Outras configurações não são afetadas.

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 serviço Fila para uma conta de armazenamento fictícia chamada myaccount:

PUT https://myaccount.queue.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: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.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>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 que a solicitação tiver sido enviada, a resposta a seguir será retornada:

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  
  

Confira também

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