برنامه نویسی

ساخت داشبورد آب و هوا با پایتون و 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، این پروژه نشان می‌دهد که چگونه می‌توانید فناوری‌های مختلف را برای ساخت یک برنامه کاربردی و مقیاس‌پذیر ترکیب کنید.

با خیال راحت مخزن را شبیه سازی کنید، کد را کاوش کنید و آن را مطابق با نیاز خود سفارشی کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا