Criando FaaS e configurando ambiente
Criar lambdas é um processo simples, porém para não ter minha saúde mental abalada utilizarei o Serverless Framework afim de facilitar o gerenciamento das funções.
Para iniciar basta executar os comandos abaixo via CLI.
$ serverless create --template aws-nodejs --path consulta-cep
$ cd consulta-cep
$ npm init -y
$ npm i -E serverless serverless-offline
A lib serverless-offline nos permite debugar localmente o código e para que tudo funcione corretamente adicionei algumas informações no serverless.yml
service: consulta-cepprovider:
name: aws
runtime: nodejs10.x
stage: dev
region: us-east-1functions:
ceps:
handler: src/handler.ceps
events:
- http:
path: ceps/{cep}
method: get
request:
parameters:
paths:
cep: true
plugins:
- serverless-offline
No Visual Studio Code adicionei o seguinte código para debug:
{
"type": "node",
"request": "launch",
"name": "Serverless",
"program": "${workspaceFolder}/node_modules/.bin/sls",
"cwd": "${workspaceFolder}",
"args": ["offline"]
}
Ao executar o projeto (F5) será impresso no console a rota de acesso, basta realizar uma requisição e tudo estará funcionando, inclusive o debug.
A partir de agora podemos focar apenas no código que realmente importa! :)
Sendo assim implementei uma função simplória que consulta o WS dos correios e retorna os dados do CEP em questão, todo o código você pode acessar no Github e abaixo um snapshot de como ficou a estrutura de pastas e etc.
A ideia agora é adicionar novas funções neste projeto para que possamos ver como é o funcionamento do projeto e depois realizarmos o deploy disso tudo.
Porém ficará para o próximo post :)