Rumah > pembangunan bahagian belakang > Tutorial Python > Membina Papan Pemuka Cuaca Masa Nyata Boleh Skala dengan Python, OpenWeather API dan AWS S3

Membina Papan Pemuka Cuaca Masa Nyata Boleh Skala dengan Python, OpenWeather API dan AWS S3

Mary-Kate Olsen
Lepaskan: 2025-01-18 20:24:17
asal
699 orang telah melayarinya

Dokumen ini menerangkan projek Python yang mendapatkan semula data cuaca dan menyimpannya dalam baldi AWS S3. Mari kita frasa semula untuk kejelasan dan aliran yang dipertingkatkan, mengekalkan bahasa asal dan kedudukan imej.

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Projek Papan Pemuka Cuaca

Projek Python ini, Papan Pemuka Cuaca, mendapatkan semula data cuaca melalui OpenWeather API dan memuat naiknya dengan selamat ke baldi AWS S3. Ia menyediakan antara muka yang mudah untuk melihat maklumat cuaca untuk pelbagai bandar dan menyimpan hasilnya ke awan dengan lancar. Skala projek dipertingkatkan dengan memanfaatkan AWS S3 untuk penyimpanan data.

Jadual Kandungan

  • Prasyarat
  • Gambaran Keseluruhan Projek
  • Fungsi Teras
  • Teknologi Digunakan
  • Persediaan Projek
  • Tatarajah Persekitaran
  • Menjalankan Aplikasi

Prasyarat

Sebelum bermula, pastikan anda mempunyai:

  1. Python 3.x: Muat turun dan pasang dari tapak web rasmi Python.
  2. Akaun AWS: Buat akaun untuk mengakses AWS S3.
  3. Kunci API OpenWeather: Dapatkan kunci daripada tapak web OpenWeather.
  4. AWS CLI: Muat turun dan pasang Antara Muka Baris Perintah AWS.
  5. Kecekapan Python: Pemahaman asas skrip Python, interaksi API dan pembolehubah persekitaran.
  6. Editor/IDE Kod: Gunakan Kod VS, PyCharm atau persekitaran pembangunan yang serupa.
  7. Git: Pasang Git untuk kawalan versi (tersedia daripada tapak web Git).

Gambaran Keseluruhan Projek

Papan Pemuka Cuaca ini menggunakan API OpenWeather untuk mengambil maklumat cuaca bagi lokasi yang ditentukan. Data ini kemudiannya dimuat naik ke baldi AWS S3 untuk akses jauh yang mudah. Reka bentuk sistem membolehkan pengguna memasukkan bandar yang berbeza dan menerima kemas kini cuaca masa nyata.

Fungsi Teras

  • Mengambil data cuaca daripada OpenWeather API.
  • Memuat naik data cuaca ke baldi AWS S3.
  • Mengurus kunci API dan bukti kelayakan AWS dengan selamat menggunakan pembolehubah persekitaran.

Teknologi Digunakan

Projek ini menggunakan:

  • Python 3.x: Bahasa pengaturcaraan utama.
  • boto3: AWS SDK untuk Python, membolehkan interaksi dengan AWS S3.
  • python-dotenv: Memudahkan storan selamat dan mendapatkan semula pembolehubah persekitaran daripada fail .env.
  • permintaan: Pustaka HTTP yang diperkemas untuk membuat panggilan API ke OpenWeather.
  • AWS CLI: Antara muka baris arahan untuk mengurus perkhidmatan AWS (termasuk konfigurasi kunci dan pengurusan baldi S3).

Persediaan Projek

Ikuti langkah ini untuk menyediakan projek secara setempat:

1. Cipta Struktur Direktori Projek

<code>weather-dashboard/
├── src/
│ ├── __init__.py
│ └── weather_dashboard.py
├── .env
├── tests/
├── data/
├── .gitignore
└── README.md</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Buat direktori dan fail menggunakan arahan ini:

<code class="language-bash">mkdir weather_dashboard_demo
cd weather_dashboard_demo
mkdir src tests data</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

2. Cipta Fail

Buat Python dan fail konfigurasi yang diperlukan:

<code class="language-bash">touch src/__init__.py src/weather_dashboard.py
touch requirements.txt README.md .env</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

3. Mulakan Repositori Git

Mulakan repositori Git dan tetapkan cawangan utama:

<code class="language-bash">git init
git branch -M main</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

4. Konfigurasikan .gitignore

Buat fail .gitignore untuk mengecualikan fail yang tidak diperlukan:

<code class="language-bash">echo ".env" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "*.zip" >> .gitignore</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

5. Tambah Ketergantungan

Tambahkan pakej yang diperlukan pada requirements.txt:

<code class="language-bash">echo "boto3==1.26.137" >> requirements.txt
echo "python-dotenv==1.0.0" >> requirements.txt
echo "requests==2.28.2" >> requirements.txt</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

6. Pasang Ketergantungan

Pasang kebergantungan:

<code>weather-dashboard/
├── src/
│ ├── __init__.py
│ └── weather_dashboard.py
├── .env
├── tests/
├── data/
├── .gitignore
└── README.md</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Tatarajah Persekitaran

1. Konfigurasi AWS CLI

Konfigurasikan AWS CLI dengan kekunci akses anda:

<code class="language-bash">mkdir weather_dashboard_demo
cd weather_dashboard_demo
mkdir src tests data</code>
Salin selepas log masuk
Salin selepas log masuk

Anda akan digesa untuk memasukkan ID Kunci Akses, Kunci Akses Rahsia, rantau dan format output anda. Dapatkan kelayakan anda daripada Konsol Pengurusan AWS (IAM > Pengguna > Pengguna Anda > Bukti kelayakan Keselamatan).

Semak pemasangan dengan:

<code class="language-bash">touch src/__init__.py src/weather_dashboard.py
touch requirements.txt README.md .env</code>
Salin selepas log masuk
Salin selepas log masuk

2. Konfigurasikan .env

Buat fail .env yang mengandungi kunci API dan nama baldi anda:

<code class="language-bash">git init
git branch -M main</code>
Salin selepas log masuk
Salin selepas log masuk

Gantikan ruang letak dengan nilai sebenar anda.

Menjalankan Aplikasi

Inilah skrip Python (weather_dashboard.py):

<code class="language-bash">echo ".env" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "*.zip" >> .gitignore</code>
Salin selepas log masuk
Salin selepas log masuk

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

1. Jalankan Skrip

Laksanakan skrip:

<code class="language-bash">echo "boto3==1.26.137" >> requirements.txt
echo "python-dotenv==1.0.0" >> requirements.txt
echo "requests==2.28.2" >> requirements.txt</code>
Salin selepas log masuk
Salin selepas log masuk

Ini mengambil data cuaca dan memuat naiknya ke baldi S3 anda.

2. Sahkan S3 Baldi

Akses baldi AWS S3 anda untuk mengesahkan muat naik. Ingat untuk memadamkan data selepas itu untuk mengelakkan caj yang tidak perlu.

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Building a Scalable Real-Time Weather Dashboard with Python, OpenWeather API, and AWS S3

Versi yang disemak ini mengekalkan maklumat asal sambil meningkatkan kebolehbacaan dan aliran. Ingat untuk menggantikan nilai pemegang tempat dengan kunci API sebenar dan nama baldi anda.

Atas ialah kandungan terperinci Membina Papan Pemuka Cuaca Masa Nyata Boleh Skala dengan Python, OpenWeather API dan AWS S3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan