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} | |