1 — Configuração
1.1 — Vamos começar criando um virtual enviroment chamado rest-api-chalice, isolando nosso ambiente:
1.2 — Em seguida, ativamos o virtual enviroment criado:
1.3 — Após ativa-lo, estaremos dentro do virtual enviroment. Vamos instalar o Chalice:
1.4 — Em seguida, iremos criar um novo projeto, ao rodar o comando a baixo será solicitado um nome para o projeto, utilizaremos hello-rest-api:
2 — Desenvolvimento
2.1 — Vamos acessar a pasta do projeto:
Analisando o conteúdo da pasta, visualizamos os arquivos que o Chalice cria por padrão: .chalice/config.json, .gitignore, app.py e requirements.txt.
O arquivo app.py é onde fazemos a implementação do nosso recurso, no entanto, como ele já vem com um exemplo implementado, não iremos mexer, pois não é o foco aqui.
3 — Deploy
Para fazermos o deploy, utilizaremos as credenciais default do AWS CLI, caso tenha dúvidas leia este artigo: Configurar o AWS CLI
Com este ponto superado, podemos seguir:
3.1 — Execute o seguinte comando para realizar o deploy:
3.2 — Em seguida, teremos o log:
Pronto, temos nossa REST API funcionando em ambiente Serverless na AWS.
Obs: Caso ocorra erro de permissão para criar Role durante o deploy, acesse: AWS Console -> IAM -> Users -> Add inline policy:
(Referência) (inglês)
4 — Teste
Para testar, basta abrir Rest API URL retornada, seja no navegador ou via curl:
E teremos o retorno:
Código fonte: https://github.com/thiagoericson/hello-rest-api
Baseado em: https://realpython.com/aws-chalice-serverless-python/
Comentários são bem vindos :)