Este repositório contém o código de uma API Python (Flask/FastAPI/Django) configurada para ser implantada no Azure App Service.
A API é hospedada na nuvem usando o Azure App Service, uma solução escalável e confiável para execução de aplicações web. Este repositório inclui as instruções necessárias para rodar a API localmente, configurar dependências e fazer o deploy.
- Endpoints: Gerenciamento para upload de API.
- Escalabilidade: Suporte a alta disponibilidade e balanceamento de carga.
- Segurança: Integração com Azure Monitor e configurações de variáveis de ambiente seguras.
|-- app.py # Ponto de entrada da aplicação
|-- requirements.txt # Dependências do projeto
|-- README.md # Documentação do projeto
|-- .gitignore # Arquivos a serem ignorados pelo Git
Certifique-se de ter as seguintes ferramentas instaladas:
- Python 3.8 ou superior
- Azure CLI: Instruções de instalação
- conta no Azure. Crie uma aqui se ainda não tiver.
- Git
-
Clone o repositório:
git clone https://github.com/mario-evangelista/deploy-api-nuvem-azure-python.git cd deploy-api-nuvem-azure-python -
Crie um ambiente virtual e ative-o:
python -m venv venv source venv/bin/activate # No Windows: venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Execute o servidor local:
python app.py
A API estará disponível em
http://127.0.0.1:5000.
-
Login na Azure CLI (Isso abrirá uma janela no navegador para você se autenticar - após o login, retorne ao terminal):
az login
-
Criação de Recursos na Azure:
az group create --name meuGrupoDeRecursos --location eastus az appservice plan create --name meuPlanoDeServico --resource-group meuGrupoDeRecursos --sku B1 --is-linux az webapp create --resource-group meuGrupoDeRecursos --plan meuPlanoDeServico --name nomeDaMinhaAPI --runtime "PYTHON:3.8" -
Deploy do Código:
git remote add azure <URL fornecida pela CLI> git push azure master
-
Acesse a API em:
https://nomeDaMinhaAPI.azurewebsites.net
Se sua API usa variáveis de ambiente, configure-as no App Service:
az webapp config appsettings set --resource-group meuGrupoDeRecursos --name nomeDaMinhaAPI --settings CHAVE=VALORCaso encontre erros durante o deploy, verifique os logs com:
az webapp log tail --name minhaAppFastAPI --resource-group meuGrupoDeRecursosCertifique-se de que a versão do Python corresponde à configurada no Azure Web App.
Acompanhe o desempenho da API usando o Azure Monitor:
- Métricas disponíveis: tempo de resposta, uso de CPU, solicitações por segundo.
Este projeto está sob a licença MIT.
Sinta-se à vontade para contribuir com o projeto. Envie um pull request ou abra uma issue para discussão.