Primeiros passos com a Azion CLI
Instale a Azion CLI, crie um projeto de function em JavaScript, execute-o localmente e faça o deploy dele na Azion pelo terminal.
Este guia orienta você no seu primeiro deploy com a Azion CLI.
- Instale a CLI e salve o seu personal token nela.
- Crie um projeto de function em JavaScript com
azion init. - Execute a function na sua máquina com
azion dev. - Faça o deploy da function com
azion deploye faça uma requisição a ela por HTTPS.
O comando azion deploy cria cinco objetos a partir do projeto, e cada um se liga ao seguinte:
- A function guarda o código em
src/function/index.js. - A function instance vincula a function à aplicação.
- A aplicação tem uma regra de requisição,
Execute Function, que executa a instância em todos os caminhos. - O workload atende a aplicação em um domínio.
- O deployment conecta o workload à aplicação.
Para mais informações sobre functions, consulte Functions.
Pré-requisitos
- Uma conta Azion. Para criar uma, consulte Criar uma conta.
- Um personal token. Para criar um, consulte Como criar um personal token. A CLI também gerencia tokens com Azion CLI personal-token.
- Node.js e npm. A CLI executa o Azion bundler com
npxpara fazer o build do projeto.
Instale a CLI e faça login
Instale a Azion CLI com o script de instalação:
Se você usa Homebrew, instale a fórmula azion:
Os dois comandos colocam o binário azion no seu path. Confirme a versão instalada:
O comando imprime a versão:
Salve o seu personal token na CLI. Substitua [TOKEN VALUE] pelo seu token:
A CLI guarda o token localmente, e os comandos seguintes o usam sem a flag. Confirme a conta que a CLI usa:
O comando imprime o client ID e o email da conta, e o perfil ativo:
A CLI está instalada e autorizada na sua conta.
Crie o projeto
O comando azion init cria o projeto a partir de um preset e de um template. Crie um projeto chamado my-function:
Sem --name, o comando pergunta o nome e sugere um nome aleatório. Em seguida, o comando faz cinco perguntas. Responda nesta ordem:
Em ? Choose a preset:, use as setas do teclado para selecionar Javascript.
Em ? Choose a template:, selecione Hello World.
Em Do you want to install project dependencies?, digite Y.
Em Do you want to start a local development server?, digite n. O azion dev o inicia depois.
Em Do you want to deploy your project?, digite n. O azion deploy faz o deploy dele depois.
O comando busca o template, instala as dependências e confirma o projeto:
O projeto fica em um novo diretório my-function, com estes arquivos:
O template grava a function em src/function/index.js. Ela responde a todas as requisições com Hello World!:
Substitua o conteúdo de src/function/index.js pelo código a seguir. A function passa a retornar o caminho e o método de cada requisição em JSON:
O projeto my-function guarda o código da function e está pronto para ser executado.
Execute a function localmente
Os comandos dev, build e deploy são executados de dentro do diretório do projeto. Vá para o diretório my-function:
Inicie o servidor de desenvolvimento local:
O comando faz o build da function e a serve na porta 3333:
O servidor ocupa o terminal. Em um segundo terminal, faça uma requisição a um caminho do servidor:
A function responde com um corpo JSON:
A function é executada na sua máquina e retorna o caminho e o método da requisição.
Faça o deploy da function
O comando azion deploy envia o projeto, faz o build dele e cria a function, a aplicação e o workload. No diretório my-function, faça o deploy do projeto:
O comando imprime o domínio do workload:
O deploy registra o ID de cada objeto que criou em azion/azion.json. Os deploys seguintes leem esse arquivo para atualizar os mesmos objetos:
O primeiro deploy pode levar vários minutos para responder em todas as localidades. Enquanto uma localidade não tem a function, ela responde 404 com uma página intitulada There's nothing here yet. Aguarde e tente de novo antes de diagnosticar o deploy.
Verifique a function após o deploy
Faça uma requisição ao mesmo caminho no domínio que azion deploy imprimiu. Substitua <your-azion-domain> por esse domínio:
A function responde com o mesmo corpo JSON que retornou na sua máquina:
A function é executada na infraestrutura distribuída da Azion e responde no domínio do workload.
Para alterar a function, edite src/function/index.js e execute azion deploy de novo no diretório my-function. Os deploys seguintes levam cerca de dois minutos para responder em todas as localidades.