mirror of
https://github.com/jkocon/AWS_S3_Upploader.git
synced 2026-02-24 05:14:41 +01:00
Add files via upload
This commit is contained in:
94
README.md
94
README.md
@@ -1 +1,93 @@
|
||||
# AWS_S3_Upploader
|
||||
# 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:
|
||||
|
||||
```yaml
|
||||
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:**
|
||||
```bash
|
||||
cd AWS_Upload
|
||||
```
|
||||
3. **Install dependencies:**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## 📤 Usage
|
||||
|
||||
Run the script from the project directory:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user