ساخت داشبورد آب و هوا با پایتون و AWS S3

داشبورد آب و هوا
نمای کلی
این داشبورد آب و هوا یک برنامه کاربردی مبتنی بر پایتون است که برای واکشی داده های آب و هوای زمان واقعی برای شهرهای مشخص و ذخیره این داده ها در یک سطل AWS S3 طراحی شده است. این برنامه از OpenWeather API برای بازیابی اطلاعات آب و هوا استفاده میکند و از کتابخانه Boto3 برای تعامل با AWS S3 استفاده میکند، و آن را به ابزاری مفید برای هر کسی که میخواهد دادههای آب و هوا را سازماندهی و ذخیره کند تبدیل میکند.
ویژگی ها
- داده های آب و هوای زمان واقعی را برای چندین شهر واکشی می کند
- دما (°F)، رطوبت و شرایط آب و هوایی را نمایش می دهد
- به طور خودکار داده های آب و هوا را در AWS S3 ذخیره می کند
– پشتیبانی از ردیابی چندین شهر
پیش نیازها
قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:
- پایتون 3.6 یا بالاتر بر روی سیستم شما نصب شده است.
- یک حساب AWS با دسترسی S3 پیکربندی شده است.
- یک کلید OpenWeather API برای واکشی اطلاعات آب و هوا
نصب و راه اندازی
1. Repository را شبیه سازی کنید
برای کلون کردن مخزن و رفتن به دایرکتوری آن، دستورات زیر را اجرا کنید:
git clone https://github.com/Teni1023/weather-dashboard.git
cd weather-dashboard
2. ایجاد و فعال کردن یک محیط مجازی
ایجاد یک محیط مجازی برای مدیریت وابستگی ها:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3. بسته های مورد نیاز را نصب کنید
وابستگی های ذکر شده در را نصب کنید requirements.txt
فایل:
pip install -r requirements.txt
4. متغیرهای محیطی را پیکربندی کنید
ایجاد یک .env
فایل را در دایرکتوری ریشه پروژه قرار دهید و متغیرهای محیطی زیر را اضافه کنید:
OPENWEATHER_API_KEY=your_openweather_api_key
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
AWS_REGION=your_aws_region
S3_BUCKET_NAME=your_s3_bucket_name
مکانها را با کلیدهای API واقعی و جزئیات AWS خود جایگزین کنید.
استفاده
برنامه را با دستور زیر اجرا کنید:
python src/weather_dashboard.py
- این برنامه داده های آب و هوا را برای شهرهای مشخص شده در کد دریافت می کند.
- داده های آب و هوا را در قالبی قابل خواندن روی کنسول نمایش می دهد.
- علاوه بر این، داده های آب و هوا در سطل AWS S3 پیکربندی شده شما ذخیره می شود.
ساختار کد
در اینجا یک نمای کلی از اجزای اصلی برنامه آورده شده است:
weather_dashboard.py
اسکریپت اصلی حاوی منطق برای:
- واکشی داده های آب و هوا با استفاده از OpenWeather API.
- نمایش داده ها در قالب کاربر پسند.
- ذخیره داده ها در AWS S3.
روش ها
__init__()
- را اولیه می کند
WeatherDashboard
کلاس - متغیرهای محیط را بارگیری می کند و تنظیمات را تنظیم می کند.
create_bucket_if_not_exists()
- بررسی می کند که آیا سطل S3 مشخص شده وجود دارد یا خیر.
- سطل را در صورت نبودن ایجاد می کند.
fetch_weather(city)
- دادههای آبوهوای زمان واقعی شهر مشخصشده را از OpenWeather API واکشی میکند.
display_weather_data(city, weather_data)
- جزئیات آب و هوا مانند دما، رطوبت، سرعت باد و توضیحات آب و هوا را در قالبی قابل خواندن نمایش می دهد.
save_weather_data_to_s3(city, weather_data)
- داده های آب و هوای واکشی شده را برای مراجعات بعدی در سطل AWS S3 مشخص شده ذخیره می کند.
خروجی نمونه
خروجی برنامه ممکن است به صورت زیر باشد:
Bucket my-weather-bucket exists
Fetching weather for Philadelphia...
Weather data for Philadelphia:
Temperature: 75°F
Weather: clear sky
Humidity: 50%
Wind Speed: 5 mph
Timestamp: 2023-10-01 12:00:00
----------------------------------------
Successfully saved data for Philadelphia to S3
نتیجه گیری
داشبورد آب و هوا ابزاری ساده و در عین حال قدرتمند برای واکشی، نمایش و ذخیره داده های آب و هوا است. با ادغام Python، AWS S3 و OpenWeather API، این پروژه نشان میدهد که چگونه میتوانید فناوریهای مختلف را برای ساخت یک برنامه کاربردی و مقیاسپذیر ترکیب کنید.
با خیال راحت مخزن را شبیه سازی کنید، کد را کاوش کنید و آن را مطابق با نیاز خود سفارشی کنید.