cla_pipelines/ ├── cla_pipelines/ │ ├── init.py │ ├── pipelines/ │ │ ├── init.py │ │ ├── p00_ingest.py │ │ ├── p01_flatten.py │ │ ├── p02_weekly.py │ │ └── p03_upload.py │ ├── run_pipeline.py │ └── utils/ │ └── common.py ├── lib/ ├── logs/ ├── deployments/ │ ├── aws/ │ │ ├── stepfunctions.py │ │ ├── boto3_sdk.py │ │ └── deploy_version.py │ └── config/ │ ├── dev.yaml │ ├── staging.yaml │ └── prod.yaml ├── tests/ ├── Dockerfile ├── docker-compose.yml ├── pyproject.toml └── poetry.lock # o requirements.txt
[p00_etl] | success ↓ [p01_elt_flatten] | success / [p02_elt_upload_db] [p02_etl_weekly]
| Cosa | Batch (SDK) | Step Function |
|---|---|---|
| Deploy | ✅ Nessuna sovrascrittura | |
| Visibilità | ❌ Manuale (CloudWatch) | ✅ Nativa (AWS Console, flusso visivo) |
| Controllo steps | ✅ Più flessibile via codice Python | ✅ Ma più rigido, definito in JSON/YAML |
| Semplicità | ✅ Script Python | |
| Uso di config | ✅ Override dinamico (vcpu, mem, etc.) | ✅ Ma meno flessibile senza Lambda wrapper |