optimised-ocr / s3_setup.py
AuditEdge's picture
S3 configuration done
3bb9361
import boto3
# AWS credentials (if not set in environment variables or AWS CLI config)
from dotenv import load_dotenv
import os
import sys
from utils import doc_processing
# Load .env file
load_dotenv()
# Access variables
AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY")
print("AWS_ACCESS_KEY_ID",AWS_ACCESS_KEY_ID)
print("AWS_SECRET_ACCESS_KEY",AWS_SECRET_ACCESS_KEY)
# Initialize S3 client
class s3_client:
def __init__(self):
self.aws_access_key_id = AWS_ACCESS_KEY_ID
self.aws_secret_access_key = AWS_SECRET_ACCESS_KEY
def initialize(self):
return boto3.client(
's3',
aws_access_key_id=self.aws_access_key_id,
aws_secret_access_key=self.aws_secret_access_key
)
def upload_file(self,local_file_path, bucket_name,folder_name,file_name):
try:
client = self.initialize()
client.upload_file(local_file_path, bucket_name, f"{folder_name}/{file_name}")
print(f"File uploaded successfully to {bucket_name}/{folder_name}{file_name}")
url = f"https://edgekycdocs.s3.eu-north-1.amazonaws.com/{folder_name}/{file_name}"
print("file url",url)
return {"status": 200, "message":"file uploaded successfully" , "url" : url}
except Exception as e:
print("Error uploading file:", e)
return {"status": 400, "message":e}