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 é 1 e 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 , OPTIONS ou 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ãoDELETE
,GET
,HEAD
,MERGE
,POST
,OPTIONS
, ePUT
.
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