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_ β¦