Processadores personalizados
O Azure Functions apresenta uma variedade de tempos de execução de linguagem. Se o idioma de sua escolha não for fornecido por padrão, você poderá usar um manipulador personalizado.
O que são manipuladores personalizados?
Em sua essência, um manipulador personalizado é um servidor web. O servidor Web recebe eventos do host Functions. Em seguida, você tem a oportunidade de escrever código em seu idioma preferido para responder aos eventos.
Com manipuladores personalizados, você pode usar qualquer linguagem que ofereça suporte a primitivas HTTP. Isso é praticamente qualquer idioma.
Conceitos e fluxo importantes
O Azure Functions tem três conceitos centrais que são importantes compreender:
- Gatilhos. Um gatilho é um evento que começa a executar uma função. Exemplos de gatilhos comuns incluem solicitações HTTP, novas mensagens de fila e alterações em um banco de dados. Selecionar o gatilho certo é importante para decidir como sua função é executada.
- Vinculações. As ligações são códigos auxiliares que ligam a sua função a outro serviço na nuvem. As ligações de entrada e saída estão disponíveis para passar dados para dentro e para fora da sua função.
- Host de funções. O host Functions controla o fluxo de eventos do aplicativo. À medida que o host captura eventos, ele invoca o manipulador e é responsável por retornar a resposta de uma função.
Veja como é o fluxo do início ao fim:
As ações a seguir descrevem como uma solicitação é processada por meio do host Functions e de um manipulador personalizado:
- Quando ocorre um evento que corresponde a um gatilho (por exemplo, uma solicitação HTTP), uma solicitação é enviada para o host Functions.
- O host Functions cria uma carga útil de solicitação e a envia para o servidor Web (manipulador personalizado). A carga útil contém informações sobre o gatilho, dados de ligação de entrada e outros metadados.
- A função executa sua lógica e uma resposta é enviada de volta para o host Functions.
- O host Functions passa dados de saída para a ligação de saída de uma função para processamento.