Real-time weather data pipeline using AWS services - automated ETL for South African cities
# đ€ïž AWS Real-Time Weather Analytics Pipeline
**Live automated weather data collection and processing system for South African cities**
## đïž Architecture Overview
```
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â EventBridge âââââ¶â AWS Lambda âââââ¶â Amazon S3 â
â (Every 15min) â â Data Ingestion â â Raw Storage â
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â
âŒ
âââââââââââââââââââ âââââââââââââââââââ
â DynamoDB â â CloudWatch â
â Structured DB â â Monitoring â
âââââââââââââââââââ âââââââââââââââââââ
```
## đ Real-Time Data Collection
**Cities Monitored**: Pretoria, Cape Town, Johannesburg, Durban
**Collection Frequency**: Every 15 minutes (96 data points/day per city)
**Data Metrics**: Temperature, Humidity, Pressure, Weather Conditions, Wind Speed
## ⥠Key Features
â
**Fully Automated ETL Pipeline** - Zero manual intervention
â
**Real-Time Processing** - Live data ingestion and storage
â
**Dual Storage Strategy** - Raw JSON (S3) + Structured data (DynamoDB)
â
**Error Handling & Logging** - Comprehensive monitoring via CloudWatch
â
**Scalable Architecture** - Serverless, auto-scaling components
â
**Cost Optimized** - Runs entirely within AWS Free Tier
## đ ïž Tech Stack
| Component | Technology | Purpose |
|-----------|------------|---------|
| **Compute** | AWS Lambda (Python 3.9) | Data processing & ETL |
| **Storage** | Amazon S3 | Raw data lake |
| **Database** | DynamoDB | Real-time querying |
| **Scheduler** | EventBridge | Automated triggers |
| **Monitoring** | CloudWatch | Logs & metrics |
| **API** | OpenWeatherMap | Weather data source |
## đ Project Structure
```
aws-weather-pipeline/
âââ README.md
âââ lambda_functions/
â âââ weather_ingestion/
â âââ lambda_function.py
â âââ requirements.txt
âââ architecture/
â âââ architecture_diagram.png
â âââ aws_services.md
âââ data_samples/
â âââ sample_s3_data.json
â âââ sample_ âŠ