🌟 Project Overview

Welcome to my first project of the 30 Days Devops Challenge!.
I am excited to start this journey of learning cloud technologies and tackling all the hands-on projects together.

Project Architecture Diagram

Diagram

Weather Dashboard

Uses a python script to fetch weather data from the OpenWeatherMap API for specific cities mentioned in the list and saves the data in an AWS S3 bucket. Let’s dive in!

What i learned from the Project

  • Setting up and managing AWS S3 buckets through python code using boto3.
  • Securing API keys and managing environment variables.
  • Best practices in Python API integration.
  • Managing cloud resources effectively.

Prerequisites for the project

Setup AWS local Access:

  • Make sure you have an AWS account with permissions to create and use S3 buckets.
  • Go to the IAM service, then go to Users to generate an access key and then click on download.
  • Use the access key to log in locally by using aws configure.
  • If you don’t have AWS CLI installed then please do that first. Here is the link to download it:
    AWS CLI Installation Guide
AWS_ACCESS_KEY_ID=<your_aws_access_key_id> 

AWS_SECRET_ACCESS_KEY=<your_aws_secret_access_key> 

AWS_DEFAULT_REGION=<aws_region>

Environment Variables:

Sign up for an API key at OpenWeatherMap.

Copy your API key and store it in a .env file.

Create the .env file in the project directory and include the following:

WEATHER_API_KEY=<your_openweathermap_api_key> 

AWS_BUCKET_NAME=<base_name_for_your_bucket>

Installation

Clone this repository:

git clone https://github.com/kingdave4/aws-weather-api.git
cd aws-weather-api

Dependencies:

  • boto3: For interacting with AWS S3.
  • requests: For making HTTP requests to the OpenWeatherMap API.
  • python-dotenv: For managing environment variables.

Install dependencies:

pip install boto3 requests python-dotenv

Install the required Python packages version:

pip install -r requirements.txt

Run the program:

python weather_dashboard.py

Results of the program

Python script ouput Program output

S3 Bucket Output

S3 output


📁 Repository

GitHub - kingdave4/AzureDataLake


📬 Contact

Feel free to reach out via GitHub if you have questions or suggestions!