Spaces:
Running
Running
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} | |