首页 > 后端开发 > Python教程 > 使用 Python、OpenWeather API 和 AWS S3 构建可扩展的实时天气仪表板

使用 Python、OpenWeather API 和 AWS S3 构建可扩展的实时天气仪表板

Mary-Kate Olsen
发布: 2025-01-18 20:24:17
原创
700 人浏览过

本文档描述了一个检索天气数据并将其存储在 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官方网站下载并安装。
  2. AWS 账户: 创建一个账户来访问 AWS S3。
  3. OpenWeather API 密钥: 从 OpenWeather 网站获取密钥。
  4. AWS CLI:下载并安装 AWS 命令​​行界面。
  5. Python 熟练程度: 对 Python 脚本、API 交互和环境变量有基本了解。
  6. 代码编辑器/IDE:使用 VS Code、PyCharm 或类似的开发环境。
  7. Git: 安装 Git 以进行版本控制(可从 Git 网站获取)。

项目概况

此天气仪表板利用 OpenWeather API 来获取指定位置的天气信息。 然后,该数据会上传到 AWS S3 存储桶 以方便远程访问。系统的设计允许用户输入不同的城市并接收实时天气更新。

核心功能

  • 从 OpenWeather API 检索天气数据。
  • 将天气数据上传到 AWS S3 存储桶。
  • 使用环境变量安全地管理 API 密钥和 AWS 凭证。

使用的技术

该项目利用:

  • Python 3.x: 主要编程语言。
  • boto3:适用于 Python 的 AWS 开发工具包,支持与 AWS S3 交互。
  • python-dotenv: 促进从 .env 文件中安全存储和检索环境变量。
  • 请求:一个简化的 HTTP 库,用于对 OpenWeather 进行 API 调用。
  • 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板