ホームページ >バックエンド開発 >Python チュートリアル >Python、OpenWeather API、AWS S3 を使用したスケーラブルなリアルタイム天気ダッシュボードの構築

Python、OpenWeather API、AWS S3 を使用したスケーラブルなリアルタイム天気ダッシュボードの構築

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-18 20:24:17700ブラウズ

このドキュメントでは、気象データを取得して AWS S3 バケットに保存する Python プロジェクトについて説明します。 わかりやすくし、流れを改善するために、元の言語と画像の位置を維持しながら言い換えてみましょう。

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

天気ダッシュボード プロジェクト

この Python プロジェクト、天気ダッシュボード は、OpenWeather API 経由で気象データを取得し、AWS S3 バケットに安全にアップロードします。さまざまな都市の気象情報を表示するための簡単なインターフェイスを提供し、結果をクラウドにシームレスに保存します。 データ ストレージに AWS S3 を活用することで、プロジェクトのスケーラビリティが強化されています。

目次

  • 前提条件
  • プロジェクト概要
  • コア機能
  • 使用されているテクノロジー
  • プロジェクトのセットアップ
  • 環境構成
  • アプリケーションの実行

前提条件

始める前に、次のものが揃っていることを確認してください。

  1. Python 3.x: Python の公式 Web サイトからダウンロードしてインストールします。
  2. AWS アカウント: AWS S3 にアクセスするためのアカウントを作成します。
  3. OpenWeather API キー: OpenWeather Web サイトからキーを取得します。
  4. AWS CLI: AWS コマンドライン インターフェイスをダウンロードしてインストールします。
  5. Python 能力: Python スクリプト、API インタラクション、および環境変数の基本的な理解。
  6. コード エディター/IDE: VS Code、PyCharm、または同様の開発環境を使用します。
  7. Git: バージョン管理のために Git をインストールします (Git Web サイトから入手可能)。

プロジェクト概要

この天気ダッシュボードは、OpenWeather API を利用して、指定された場所の天気情報を取得します。 このデータは、便利なリモート アクセスのために AWS S3 バケット にアップロードされます。このシステムの設計により、ユーザーはさまざまな都市を入力し、リアルタイムの天気情報を受け取ることができます。

コア機能

  • OpenWeather API から気象データを取得します。
  • 気象データを AWS S3 バケットにアップロードします。
  • 環境変数を使用して API キーと AWS 認証情報を安全に管理します。

使用されているテクノロジー

プロジェクトは以下を利用します:

  • Python 3.x: 主要なプログラミング言語。
  • boto3: AWS S3 との対話を可能にする AWS SDK for Python。
  • python-dotenv: .env ファイルからの環境変数の安全な保存と取得を容易にします。
  • リクエスト: OpenWeather への API 呼び出しを行うための合理化された HTTP ライブラリ。
  • AWS CLI: AWS サービス (キー設定や S3 バケット管理を含む) を管理するためのコマンドライン インターフェイス。

プロジェクトのセットアップ

次の手順に従って、プロジェクトをローカルでセットアップします。

1.プロジェクトディレクトリ構造の作成

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

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

次のコマンドを使用してディレクトリとファイルを作成します:

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

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.ファイルの作成

必要な Python および構成ファイルを作成します:

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

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. Git リポジトリを初期化します

Git リポジトリを初期化し、メイン ブランチを設定します。

<code class="language-bash">git init
git branch -M main</code>

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. .gitignore

を構成する

不要なファイルを除外するために .gitignore ファイルを作成します:

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

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

5.依存関係を追加

必要なパッケージを 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>

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.依存関係をインストール

依存関係をインストールします:

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

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

環境構成

1. AWS CLI 設定

アクセスキーを使用して AWS CLI を設定します:

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

アクセス キー ID、シークレット アクセス キー、リージョン、出力形式の入力を求められます。 AWS マネジメントコンソール (IAM > ユーザー > ユーザー > セキュリティ認証情報) から認証情報を取得します。

次のコマンドでインストールを確認します:

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

2. .env を設定する

API キーとバケット名を含む .env ファイルを作成します:

<code class="language-bash">git init
git branch -M main</code>

プレースホルダーを実際の値に置き換えます。

アプリケーションの実行

これが Python スクリプト (weather_dashboard.py) です:

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

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

1.スクリプトを実行します

スクリプトを実行します:

<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>

これにより、気象データが取得され、S3 バケットにアップロードされます。

2. S3 バケットを確認

AWS S3 バケットにアクセスして、アップロードを確認します。不必要な料金が発生しないように、後で必ずデータを削除してください。

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

この改訂版は、元の情報を維持しながら、読みやすさと流れを改善しています。 プレースホルダーの値を実際の API キーとバケット名に置き換えてください。

以上がPython、OpenWeather API、AWS S3 を使用したスケーラブルなリアルタイム天気ダッシュボードの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。