Este repositório contém código de exemplo / prova de conceito (PoC) com o objetivo de demonstrar como implementar processamento assíncrono de arquivos CSV no Azure, utilizando Quarkus 3.17, Java 21, AKS e KEDA com scale-to-zero.
Este projeto foi criado para fins de aprendizado, avaliação e experimentação.
Este repositório contém código de exemplo e não é destinado para uso em produção.
Antes de utilizar qualquer parte deste projeto em um ambiente produtivo ou crítico, é essencial revisar, validar, proteger e adaptar o código conforme os requisitos da sua organização, incluindo:
- Segurança
- Escalabilidade
- Confiabilidade
- Monitoramento
- Observabilidade
- Custos
- Conformidade
Leia também:
- Upload de arquivos CSV via frontend web (Qute)
- Armazenamento no Azure Blob Storage com enfileiramento via Azure Queue
- Processamento assíncrono por workers com auto-scaling via KEDA (0–10 pods)
- Rastreamento de status via Azure Table Storage
- Infraestrutura como código com Terraform (AKS, Storage, ACR, Workload Identity)
- Zero secrets com Workload Identity e DefaultAzureCredential
Usuário → Web (Qute) → Backend (REST API) → Azure Storage (Blob + Queue + Table)
↓
Worker (0–10 pods via KEDA)
- Java 21+
- Maven 3.9+
- Docker
- Azure CLI +
kubectl - Terraform 1.5+
- Clone este repositório
- Provisione a infraestrutura:
cd infra/terraform/environments/poc terraform init && terraform apply
- Build e deploy:
mvn clean package -DskipTests ./deploy/deploy.sh
- Execute em ambiente não produtivo
- Valide o comportamento antes de qualquer adaptação
Este projeto não possui SLA nem suporte oficial.
Veja SUPPORT.md para detalhes.
O uso deste projeto está sujeito aos termos descritos em DISCLAIMER.md.
Contribuições podem ser aceitas a critério do mantenedor.
Os nomes e serviços da Microsoft são utilizados apenas para fins descritivos.
Este projeto não é afiliado, endossado ou suportado oficialmente pela Microsoft.
O uso de marcas da Microsoft não deve sugerir qualquer tipo de parceria ou suporte oficial.