Nesta série de artigos vou abordar o desenvolvimento de soluções Serverless utilizando C# e Azure Functions, que é o serviço de computação Serverless da plataforma Microsoft Azure.
Ao final do artigo passado chegamos na criação do projeto. Neste artigo vamos prosseguir com a série, apresentando diferentes tipos de funções e como elas funcionam.
Artigos da série
- Parte 1: Introdução
- Parte 2: Tipos de funções
Código Fonte a ser evoluído durante a série de artigos pode ser encontrado aqui.
Principais tipos de função
Primeiramente, para criar uma nova função basta utilizar a linha de comando, navegar para a pasta do seu projeto Azure Functions e digitar o comando abaixo.
func new
Ao apertar ENTER, uma série de opções de funções vai ser mostrada, como na imagem abaixo.
Lembrar que é necessário ter o Azure Function Core Tools instalado corretamente, além da SDK do .NET. Se ainda não configurou o ambiente, indico fazer desde já seguindo o primeiro artigo da série.
Abaixo estão os tipos de funções que podem ser criadas e como são invocadas:
- QueueTrigger: através de item novo recebido em uma fila do Azure Queue Storage
- HttpTrigger: através de requisição HTTP
- BlobTrigger: através de uma inserção ou atualização de um blob no Azure Blob Storage
- TimerTrigger: através de uma certa rotina/intervalo, como a cada 5 minutos por exemplo
- DurableFunctionsOrchestration: através de uma nova instância de orquestração ou novo evento em existente
- SendGrid: no modelo padrão, através de uma nova mensagem no Azure Queue Storage
- EventHubTrigger: através de um evento criado em um stream de hub de eventos
- ServiceBusQueueTrigger: através de uma nova mensagem em uma fila do Azure Service Bus
- ServiceBusTopicTrigger: através de uma nova mensagem em um tópico do Azure Service Bus
- EventGridTrigger: através de um novo evento enviado a um tópico de event grid
- CosmosDBTrigger: através de inserções ou atualizações em partições do Azure Cosmos DB
- IotHubTrigger: através de eventos enviados a um stream de eventos de IoT Hub
São muitos tipos disponíveis, e para a nossa série vou criar 3 funções:
- Uma com gatilho HTTP, que vai inserir um registro no Azure CosmosDB
- Uma com gatilho Azure CosmosDB, que vai publicar uma mensagem no Azure Service Bus
- Uma com gatilho Azure Service Bus, que vai enviar com SendGrid
Vamos criar cada uma delas agora utilizando o comando abaixo 3 vezes, selecionando as opções HttpTrigger, ServiceBusQueueTrigger e CosmosDBTrigger. O nome de cada função será, respectivamente, CreateCustomerFunction, CustomerCreatedFunction, NotifyCustomerCreatedFunction
O seu projeto ficará similar ao print abaixo, se estiver seguindo o passo a passo na série.
Se tentarmos executar o projeto utilizando o comando func start ele vai falhar, já que ainda não configuramos as cadeias de conexão com o Azure CosmosDB e também Azure Service Bus, mas no próximo artigo vamos começar a resolver isso!
Quer alavancar sua carreira como Desenvolvedor(a) .NET?
Opa, aqui é o Luis Felipe (LuisDev), criador do blog LuisDev.
Além de Desenvolvedor .NET Sênior, eu sou instrutor de mais de 700 alunos e também tenho dezenas de mentorados.
Conheça o com mais de 800 video-aulas sobre C# e desenvolvimento de APIs com ASP NET Core, Microsserviços com ASP NET Core, Arquitetura de Software, Computação em Nuvem, SQL, HTML, CSS e JavaScript, JavaScript Intermediário, TypeScript, Desenvolvimento Front-End com Angular, e Desenvolvimento Front-end com React. Diversos mini-cursos disponíveis aos alunos e atualizações gratuitas.
Suporte dedicado, e comunidade de centenas de alunos.
Completo e online, destinado a profissionais que querem dar seu próximo passo em sua carreira como desenvolvedores .NET.
Clique aqui para ter mais informações e garantir sua vaga
Conclusão
Neste artigo progredimos no projeto apresentado no primeiro artigo da série, apresentando os tipos de funções disponíveis e como são invocadas, além de criar as primeiras funções de nosso projeto Azure Functions.
No próximo artigo serão criados os recursos de Azure CosmosDB e Azure Service Bus, além de ser feita a configuração deles com nossas funções criadas.