Azure Functions: rodando código sem servidor | Alura Cursos Online
Primeiras aulas do curso Azure Functions: rodando código sem servidor
Criando a nossa primeira função no Azure - Introdução
Está querendo aprender um pouco mais sobre tecnologia e servos? Que tal juntarmos essa tecnologia com a nuvem da Azure, e vamos falar sobre o Azure Functions, que é a ideia de podermos usar o nosso código sem se preocupar com o servidor.
Como assim? Como é que isso funciona Ricardo? Vamos pegar o nosso código, colocar na Azure, e ele vai servir para várias funções, por exemplo, conseguimos disparar o nosso código mediante um get, um http.
Podemos colocar o nosso código e fazer um agendamento para que ele dispare uma atividade, como por exemplo realizar um backup, acionar uma aplicação, tudo isso vamos ver dentro desse curso. Eu sou o Ricardo Merces, e quero te acompanhar para vermos juntos mais esse conteúdo.
Criando a nossa primeira função no Azure - Função de Hello World
Para começarmos, o legal é entender bem o que é o Azure Functions, e nessa figura aqui fica fácil de entender. O Azure Functions na verdade é um conjunto de código mais trilha. Pegamos o nosso código e coloca lá na Azure.
E como é que esse código, ele é acionado? Ele é acionado mediante um input, que ele chama de Trigger. E como eu disse lá na abertura do curso, esse Trigger pode ser um get http, alguma atividade no banco de dados, alguma referência a um arquivo nos repositórios, por exemplo, você colocou um arquivo, ele viu que tem um arquivo, ele diz para esse código.
Então para que possamos trabalhar com Azure Functions, você sempre vai ter o código e mais alguém para disparar esse código.
Então vamos começar na nossa primeira função aqui, usando um Trigger http, então vamos lá. Você vai logar na tua conta, se você não tem a conta ainda na Azure, vê os cursos anteriores que cobrem bem essa parte toda, até para você já estar aqui mais ambientado com esses recursos.
Mas vamos lá. Vamos primeiro utilizar aqui o Dashboard, depois passamos para as nossas linhas de comando, para o Visual Studio Code, tudo mais. O nome do recurso, vou criar um recurso, e ele aparece para nós "Serverless Function App", então é esse cara aqui que vamos criar, vamos criar nossa função. O nome da função, tem que ter um nome único, fique atento a isso, é "merceslebs", eu vou chamar a primeira função de hello word, então vai ter esse nome.
No Azure Functions, até pelo fato de ser um produto Microsoft, ele tem esse recurso de prover uma infraestrutura baseada em Windows também, então tem lá, Windows e Linux, você pode escolher essa infraestrutura, para começar eu vou utilizar um Dot.Net, para você entender bem com é esse, e Dot.Net, vamos usar aqui mesmo, o Windows.
Qual tipo de plano, onde vai ficar, a região, o storage, ele já vai mostrar aqui, ele vai criar um novo storage, ou vai deixar você utilizar algum que você já tenha previamente criado, vou usar o que eu já tenho, senão você pode criar um, isso aqui é tranquilo.
Essa primeira parte aqui é bem tranquilo, o mais importante é o nome da função. Terminado o Deploy, vamos para o recurso, tem sempre o atalho aqui do lado, functions app, você também pode chegar lá.
Então aqui está a função, o nome da função está aqui descrito. O que vamos fazer? Dentro agora da função, vamos vir no mais, e aqui vamos criar propriamente a nossa função. Então eu vou escolher o seguinte, eu vou utilizar o portal, esse In-portal aqui, na verdade é para você utilizar toda a codificação aqui dentro do dashboard, que ele chama de portal. E eu vou utilizar, marquei lá portal, Webhook+API, essa daqui criar, é bem simples isso aqui, ele já tem um template pronto, você vai ver que é bem tranquilo.
O nome http Trigger, que ele coloca como exemplo, e ele bota já esse código aqui, um código bem simples, na verdade vamos passar aqui como parâmetro na nossa Query, o nome e ele traz lá o Hello e o nosso nome, sem mistério, save.
A função já está no ar, como é que testamos isso? Vamos fazer um get para ver o que acontece. Então a ideia aqui é abrir uma nova aba aqui para testarmos, e aqui eu venho em Get Function URL, eu vou copiar isso daqui e vou colar do lado. Vamos ver o que ele retorna, olha só, eu preciso passar o nome na Query.
Outro detalhe importante para não passar desapercebido, você reparou que na URL ele já colocou uma aqui, essa função por default, da maneira que criamos, já tem uma associada a ela, e depois vamos voltar nesses detalhes, mas por enquanto vamos passar para o nosso parâmetro.
Então já botamos um name, =Ricardo, e magicamente funciono. Rapidamente provisionou a sua primeira função, um Trigger http. Então veja só a facilidade, colocou seu código, associou ele a um trigger http, isso é importante, você já guardar nesse momento do curso, que é sobre esse Trigger aqui que vamos estar falando bastante, associou o Trigger, função, rodou, já está tudo no ar.
"Ricardo, gostei e achei bem legal, será que dá para fazer isso usando um editor de código, linha de comando?". E essa é a ideia do próximo vídeo, como utilizar o Visual Studio Code, que ele está super integrado com a Azure para nós provisionarmos as nossas funções. Na sequência, voltamos aí com VS Code.
Criando a nossa primeira função no Azure - Criando uma função no Visual Studio Code
De volta aqui para nós criarmos uma nova hello world, só que utilizando o visual code. Só que para isso tem alguns pré-requisitos importantes, eu estou usando a versão LTS do node. Está aqui, node -v.
Então estou usando essa 10.16, que é a atual LTS, presta atenção nesse detalhe, porque senão o core que vamos instalar não vai funcionar. Com o node instalado, você vai utilizar também o seguinte, você vai instalar: install -g azure-functions-core-tools. Ele vai baixar o core tool, para podermos utilizar.
Isso aqui é importantíssimo, senão não vai funcionar, checa a versão do note, instala aqui o core tools e aí sim, agora vamos abrir o nosso VS Studio aqui.
Eu vou utilizar o VS Studio Code, que é o que está na documentação, e assim como eu, que não estou aqui com o Windows fica multiplataforma, fica mais legal, mais fácil também para eu utilizar, então Visual Studio Code.
"Ricardo o que eu preciso configurar aqui?" Então o primeiro passo, é virmos nas extensões e colocar Azure Functions. Aqui, vamos instalar o Azure Function, install. Ele instalou, ele já cria um link aqui para nós, e vai facilitar muito o nosso trabalho.
Com o Azure Functions instalado, vamos fazer o nosso projeto aqui de hello world 2, ele está instalado, no meu caso como eu já utilizei aqui para preparar o curso, quando eu clico aqui, eu já estou autenticado, se vai clicar aqui ele vai pedir para autenticar, e aí vai entrar com as credenciais lá da tua conta da Azure, não tem mistério nenhum.
Uma vez autenticado, essa integração que eu achei bem legal, já aparece as funções que publicamos, não foi essa que publicamos a pouco aqui a hello world? Ela já aparece listada para mim. Então faz a tua autenticação, e até testa para ver se está direito que ela já vai aparecer aqui.
Mas a ideia agora é criar a segunda, então vamos aqui, vamos criar um projeto. Eu vou dizer para ele onde eu vou trabalhar, vai ser esse meu diretório LABS, eu vou criar o projeto hello world 2.
E ele pergunta "Ricardo como é que é esse projeto? Java script, Python? Como é que ele vai funcionar?" Esse projeto eu já vou utilizar o Java script para trabalhar com ele, então aqui, Java script, e olha a lista de triggers que ele apresenta para nós, bem naquele conceito que eu te expliquei no início, trigger junto com a função. Está vendo, tem esses triggers todos aqui.
E o que vamos fazer? Eu quero um hello world novo, então ele é um http trigger, selecionei esse cara aqui, qual o nome da função que ele cria, por default, até aqui para diferencial, chamar de dois, HttpTrigger2, essa aqui é a função.
Nível de autenticação, quando fizemos o exemplo anterior, eu mostrei para vocês que já passava uma aqui. Se eu marcar função, ele já vincula um aqui. Eu posso também criar um anonymous. Vamos testar nessa condição também, vamos botar aqui como anônimo para ficar diferente da primeira.
O que ele quer? Adicionar aqui para o workspace. Então está aqui, já criou toda a estrutura para nós. O nosso código aqui, assim visualizamos melhor. A mesma coisa, eu vou dar um get e o parâmetro vai ser name, ele vai botar o Hello, e o nosso name.
Então a função está aqui já pronta, precisamos fazer o deploy, só que antes de fazermos o deploy, é legal testarmos, e temos a opção de testar ela localmente, e para testar localmente você já está acostumado com o Visual Studio Code, você dá um "F5", e aí ele vai provisionar aqui.
Detalhes importante que vamos explorando aqui à medida que vamos avançando no curso, está aqui, ele provisiona localhost:7071/api, o nome que criamos. Essa nomenclatura vai ficar bem parecida lá na Azure, lá ele vai botar aquela referência do host dele, /api, então sabendo disso, você já pode configurando depois as suas funções com o nome, para que você tenha a chamada certa.
Então vamos pegar isso aqui, vamos testar, copiei, colei o código, vamos ver o que que ele diz, a mesma coisa, precisa do nome. Então name=Ricardo, tudo funcionando.
O legal de usar o VS Code integrado com o Azure é essa capacidade também, que temos de fazer esses testes locais. "Ricardo testei, tudo funcionando". O que precisamos fazer agora é deploy para Azure, no próximo vídeo, fazemos o deploy.
Cria a tua função, faz o teste, ver se está rodando direito, porque assim você está testando também se os componentes foram instalados, o core, se está com o node certo. Faz esse teste, testa o local, e voltamos na sequência fazendo deploy da nossa função.
Sobre o curso Azure Functions: rodando código sem servidor
O curso Azure Functions: rodando código sem servidor possui 123 minutos de vídeos, em um total de 46 atividades. Gostou? Conheça nossos outros cursos de Azure em DevOps, ou leia nossos artigos de DevOps.