Erro na criação de Fila no Azure (pt-BR)

Erro na criação de Fila no Azure (pt-BR)

O PROBLEMA

Estava eu trabalhando tranquilamente em uma aplicação de teste para o Windows Azure quando tive a necessidade de criar uma Queue(fila).

Tudo corria na mais perfeita harmonia, já tinha criado algumas filas neste mesmo projeto sem nenhum tipo de problema. O código usado foi copy and paste dos demais e quando compilei o projeto e o resultado foi a tela amarela da morte como na imagem aseguir:

01

Reparem as mensagens de erro retornadas:

  • [WebException: The remote server returned an error: (400) Bad Request.]
  • [StorageClientException: One of the request inputs is out of range.]

 

Esta exceção ocorre no método CreateIfNotExist(), que cria a fila caso a mesma não exista. O trecho de código é o seguinte:

2

Quando crio a fila, passo uma string para referenciar seu nome. O grande problema é que não pode ser qualquer string…

A SOLUÇÃO

Existem algumas “limitações” na criação de Blobs, Tables e Queues no Azure. Neste caso, o nome referenciado para a fila desobedecia uma das regras de nomeação.

Na versão atual do SDK(1.4), os nomes de Fila devem seguir as seguintes regras:

  • começar com uma letra ou número;
  • conter apenas letras, números e hífen(-);
  • a primeira e a última letra deve ser alfanumérico;
  • não deve conter espaços;
  • o hífen não pode ser a primeira ou última letra do nome;
  • não é possível ter dois hífens consecultivos;
  • todas as letras devem ser minúsculas;
  • o nome da fila deve ter de 3 a 63 caracteres.

 

Se o nome da fila especificada não é um nome válido, o método Criar Fila retorna o código de status 400(Bad Request), juntamente com informações de erro adicionais.

Segue a lista com os Códigos de Erro nos Serviços de Fila:

3

Para solucionar o erro da minha aplicação, eu simplesmente coloquei o nome da fila como All Lowercase (tudo em minúsculo)!

PS: A grande questão aqui é a mensagem de erro que não deixa claro o motivo da exceção. Não há sinalização de que o nome da fila é o reponsável pelo erro, logo há uma “curva maior” para identificar e tratar o erro.

Um grande abraço e ótimo estudo!

logo

      Twitter: @vitormeriat
      vitormeriat@gmail.com
      vitor.pereira@studentpartners.com.br

Leave a Comment
  • Please add 8 and 8 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Comments
Page 1 of 1 (1 items)
Wikis - Comment List
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Fernando Lugão Veltem edited Original. Comment: alterado tags e título

Page 1 of 1 (1 items)