1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

Execute funções serverless em Edge

Edite no GitHub

Edge Functions é um serviço da plataforma de Edge Computing da Azion que permite que você programe e execute funções serverless, sem a necessidade de provisionar ou gerenciar servidores.

Com a Edge Function Hello World, por exemplo, você pode criar uma função específica que exiba desde uma página qualquer, como por exemplo, de erro ou status, ou até mesmo entregar um HTML contendo um objeto JSON e assim monitorar a situação de um determinado serviço em tempo real.

Veja algumas outras possibilidades para aplicação de Edge Functions:

  • inspecionar Headers e Authorized Tokens, permitindo Access Control antes de encaminhar a request à origem;
  • manipulação de cookies;
  • enviar objetos diferentes para seus usuários baseado em User-Agent header;
  • gerar responses sem necessariamente ter que encaminhar a requisição para a origem, entre outros.

Como funciona

Você pode criar suas próprias functions ou utilizar alguma das já disponíveis no Marketplace da Azion. Para demonstrar seu funcionamento, descreveremos as etapas para criação de uma function Hello World.

Primeiramente, é necessário instanciar uma function Hello World dentro de seu Edge Application e configurar qual a resposta desejada por meio dos parâmetros que a função recebe (Args). Quando uma requisição chegar no Edge, os critérios de validação são avaliados, e se todos os requisitos forem atendidos, a function será executada.

A seguir, iremos ilustrar um caso em que se deseja apresentar um página de status com aviso de indisponibilidade temporária de um serviço (www.myapplication.com/api_service, por exemplo), construído por meio da Edge Funcion Hello World.

Configurando a function Hello World

Edge Function Hello World está disponível na biblioteca de functions da plataforma de Edge Computing da Azion e pode ser acessada pelo Real-Time Manager (RTM), no menu Libraries.

Para execução da function, ela tem de ser instanciada no Edge Application em que se deseja trabalhar e ter os seus critérios de ativação e comportamentos definidos dentro do Rules Engine.

Criando uma instância

Caminho: Real-Time Manager > Edge Computing > Edge Applications > Sua Edge Application > Functions.

A partir do RTM, acesse a Edge Application que irá rodar a sua function e, dentro da aba Functions, adicione uma nova, declarando um nome significativo para ela (MyHelloWorld, para ilustrar nosso exemplo).

Parâmetros: é necessário selecionar qual function usar para a sua instância; neste caso, escolha a opção Hello World, no campo “Edge Function”. Note que o código da função aparecerá no campo Code apenas para leitura e entendimento. Na aba Args, informe o código HTTP e a mensagem de retorno desejada – vide exemplo, abaixo – e salve a função.

{
    "param":{
        "http_status": 503,
        "body": "We are working hard to serve you better!"
    }
}

Exemplo de configuração dos parâmetros JSON Args

Definindo critérios de execução (Rules Engine)

Caminho: Real-Time Manager > Edge Computing > Edge Applications > Sua Edge Application > Rules Engine.

As regras definidas no Rules Engine determinam o conjunto de condições que precisam ser atendidas para a execução dos Behaviors. Você pode utilizar a Default Rule ou criar uma nova regra a fim de configurar os parâmetros de validação e os comportamentos para execução de sua function pela Edge Application.

Definindo critérios de validação (criteria): escolha as variáveis, operadores de comparação e strings para construção de sua regra de negócio, como no exemplo a seguir:

  • If: ${uri} starts with /api_service (na sequência: operador lógico, variável, operador de comparação, string)

Aqui, a regra é executada se a URI acessada iniciar com a string “/api_service”.

*Definindo comportamentos (behaviors*): ** adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas. Exemplo:

  • Then: Run Function MyHelloWorld (na sequência: operador lógico, ação, função)

Neste exemplo, se as condições definidas nas regras forem satisfeitas, então será executada a function MyHelloWorld. Assim sendo, quando um usuário acessar a URL “www.myapplication.com/api_service”, a function será executada e a página configurada, exibida.

Por fim, salve a sua Edge Application e esta já estará pronta para executar a nova function.


Não encontrou o que procurava? Abra um ticket.