2025-02-12 13:50:01 +01:00
2025-02-12 13:49:33 +01:00
2025-02-12 13:46:58 +01:00
2025-02-12 13:50:01 +01:00
2025-02-12 13:50:01 +01:00

AWS Upload Tool

This Python script allows you to upload files from a local folder to an AWS S3 bucket. It supports dynamic configuration through a YAML file, making it flexible and easy to manage.

📦 Project Structure

AWS_Upload/
├── src/
│   └── aws_uploader.py
├── config/
│   └── config.yaml
├── logs/
├── requirements.txt
└── README.md
  • ``: Main script responsible for uploading files to AWS S3.
  • ``: Configuration file with AWS credentials and upload settings.
  • ``: Folder where log files are automatically generated.
  • ``: List of Python dependencies.
  • ``: This file.

⚙️ Configuration

Create a config.yaml file inside the config/ folder:

aws_access_key_id: "YOUR_ACCESS_KEY_ID"
aws_secret_access_key: "YOUR_SECRET_ACCESS_KEY"
region_name: "us-west-2"
bucket_name: "your-s3-bucket-name"
local_folder: "D:\\Path\\To\\Local\\Folder"
s3_prefix: "optional/prefix/"
  • ``: Your AWS access key.
  • ``: Your AWS secret access key.
  • ``: AWS region where your bucket is located.
  • ``: Name of the S3 bucket.
  • ``: Path to the local folder with files to upload.
  • `` (optional): Prefix to organize files within the S3 bucket.

🚀 Installation

  1. Clone or download the project.
  2. Navigate to the project folder:
    cd AWS_Upload
    
  3. Install dependencies:
    pip install -r requirements.txt
    

📤 Usage

Run the script from the project directory:

python src/aws_uploader.py

📋 Logging

  • Log files are saved in the logs/ folder.
  • Log format: LOG_dd_mm_yyyy_hh_mm_ss.log
  • Logs include information about upload progress and any errors.

Error Handling

  • Errors during file uploads (e.g., invalid credentials, missing bucket) are logged both in the console and in the log file.
  • General exceptions are also captured and logged for debugging.

🔐 Security Notice

  • Never commit `` with real AWS credentials to version control.
  • Use .gitignore to exclude sensitive files:
config/config.yaml
logs/
*.log

🤝 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.

📄 License

This project is licensed under the MIT License.

Description
No description provided
Readme 41 KiB
Languages
Python 100%