Aqueles que estão estudando ou trabalhando como Azure certamente já tiveram de obter as credenciais da conta de armazenamento. Neste momento você recorre ao Windows Azure Platform Training Kit e os ainda poucos artigos que tratam do assunto.
Provavelmente o código que você vai encontrar será este(do próprio WAPTK):
Confesso que não sou um usuário assíduo dos delagates mas uma declaração que envolve um delegate Func(T1, T2) , dentro de outro, Action(T1,T2) para mim já é preciosismo…
A falta de objetividade e clareza na documentação do Azure (o que com certeza irá mudar) aliado a esta sintaxe nada amigável (e que fique bem claro que nem sempre soluções extremamente elegantes são as melhores) cria uma espécie de antipatia para alguns desenvolvedores.
Em resumo, você está invocando um método que espera um método que utiliza um método como um parâmetro. Sei que isto parece confuso então vamos explorar a expressão lambda para entendermos melhor qual a utilização deste método:
Neste caso poderíamos fazer sem a expressão Lambda e definir o método como no exemplo abaixo…
Para os que ainda não estiverem familiarizados com as expressões Lambda, sugiro a leitura:Dissecando as expressões Lambda
Agora no momento que uma chamada é feita para recuperar as credenciais, teremos a execução do método MeuEditorDeConfiguracao.
Quando utilizamos o método CloudStorageAccount.FromConfigurationSetting, o Azure procura por um editor de configuração. Devido uma chamada anterior a SetConfigurationSettingPublisher, ele encontra o nosso método customizado e utilizando o RoleEnvironment.GetConfigurationSettingValue, nosso código obtém os valores da nossa conta e invoca o método previsto com o parâmetro Func<string, bool>.
No próximo post vamos explorar algumas possibilidades para nossas estratégias de obtenção das credenciais da conta de armazenamento no Azure.
Código fonte do Artigo
Twitter: @vitormeriat vitormeriat@gmail.com vitor.pereira@studentpartners.com.br
Fernando Lugão Veltem edited Original. Comment: alterado tags e título