Desenvolva e teste uma function localmente
Rode uma function na sua máquina com o Azion CLI, envie requisições reais e forneça variáveis de ambiente de um arquivo local antes do deploy.
Você pode rodar uma function na sua máquina com o Azion CLI e enviar requisições reais antes do deploy. O comando azion dev inicia um servidor de desenvolvimento local para o projeto atual. Você lê a resposta que seu código retorna sem fazer o deploy antes.
Pré-requisitos
- Azion CLI instalado e um personal token salvo com
azion -t <seu-token>. - Um projeto na sua máquina. Para criar um, rode
azion inite selecione o preset Javascript.
Rode a function localmente
O azion dev faz o build do projeto e o serve da sua máquina. Para iniciar o servidor:
O comando faz o build do projeto primeiro e então exibe o endereço em que está servindo:
Use o endereço que o comando exibir. Para escolher a porta, passe --port:
Com o servidor rodando, envie uma requisição para a function de outro terminal:
A resposta que seu handler retorna aparece no terminal. Tudo que o código escreve com console.log() aparece no terminal que roda o azion dev.
Forneça variáveis de ambiente localmente
Uma function lê uma variável com Azion.env.get(), que recebe a chave e retorna o valor:
O fallback || 'Default value' importa localmente: Azion.env.get() retorna undefined para uma chave que não está definida. Um handler que lê a variável direto na resposta retorna a string undefined em vez de falhar. Dê um fallback a cada variável, e a function roda antes de qualquer variável existir.
Mantenha os valores locais em um arquivo .env junto ao projeto, um par CHAVE="valor" por linha:
O azion deploy lê .edge/.env por padrão. Para apontar para outro arquivo, passe --env:
Nunca versione um arquivo com credenciais reais. Mantenha um .env.example com as chaves e valores de exemplo no controle de versão. Deixe o .env real fora dele.
Escolha onde testar uma function
Três superfícies rodam uma function antes de ela atender tráfego de produção, e cada uma responde a uma pergunta diferente.
| Superfície | Onde roda | Use quando |
|---|---|---|
| Desenvolvimento local | Na sua máquina, pelo azion dev | Você está iterando no código, quer requisições reais com seus próprios headers e corpos, e quer um ciclo rápido de editar e rodar |
| Preview deployment | Azion Console | Você está trabalhando no Console e quer ler a resposta de uma requisição simulada, construída pelo PreviewProvider, sem sair do editor |
| Code editor | Azion Console | Você está escrevendo ou corrigindo o código e quer syntax highlighting e IntelliSense |
O desenvolvimento local é a única das três que aceita uma requisição composta por você. É onde se exercita um handler em vários métodos, headers e corpos. O Preview deployment envia uma requisição simulada e renderiza a resposta.