Azure Function – Parte 2: Publicando o micro-serviço
O Azure Functions é um serviço provisionado na nuvem. Para criar um novo serviço acesse o Portal e adicione uma nova instância do Functions, escolha o HttpTrigger como tipo da função. Dentro do Functions adicione uma nova função, existem serviços beta de Proxy e Slots, mas não abordaremos eles neste artigo.
Dois arquivos já são criados automaticamente:
- run.csx: contém o script propriamente dito;
- function.json: metadados do script.
O function.json é um array de bindings, junto com uma propriedade enabled, que habilita ou desabilita a função.
Todos os bindings compartilham algumas propriedades:
Propriedade | Valores | Comentários |
type | string | Tipo de binding, por exemplo: queueTrigger. |
direction | ‘in’, ‘out’ | Indica se o valor é de entrada ou de saída. |
name | string | Nome que será atribuído ao binding. No C# torna-se o valor da variável e no Javascript uma estrutura de chave/valor |
Ao criar uma nova function, ela já vem com um código de exemplo pronta para rodar. A princípio é necessário apenas alterar o run.csx com seu script, porém muitas vezes utilizamos pacotes de terceiros, utilizando NuGets.
Os pacotes abaixo já estão incluídos na solução da Azure:
- mscorlib
- System
- System.Core
- System.Xml
- System.Net.Http
- Microsoft.Azure.WebJobs
- Microsoft.Azure.WebJobs.Host
- Microsoft.Azure.WebJobs.Extensions
- System.Web.Http
- System.Net.Http.Formatting
Caso seja necessário adicionar outros pacotes é necessário criar um arquivo chamado project.json, este arquivo conterá as informações dos pacotes adicionais que serão instalados no momento do build da solução.
O Azure Function automaticamente percebe alterações neste arquivo e executa o NuGet restore antes do próximo build.
Exemplo de formatação do project.json:
Configurados os metadados e as dependências o script já está pronto para rodar na nuvem. Para facilitar os testes a Azure tem a funcionalidade de fazer as chamadas pela plataforma.
Vale ressaltar que neste artigo abordamos um Function que tem como gatilho uma requisição HTTP mas é possível configurar outros tipos de gatilho, como por exemplo: funções agendadas, vinculadas a eventos do CosmosDB, ao GitHub entre outros.
Desenvolvimento de Software
Confira outros artigos
WhatsApp Business na sua estratégia: muito além de um chatbot
Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]
Desenvolvimento de Software
A Inteligência Artificial (IA) e otimização operacional nas empresas
Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui! 2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]
Desenvolvimento de Software
Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo
Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos. Portanto, agora é a hora de explorar as oportunidades […]
Desenvolvimento de Software