watchtowerai-log-analyzer / upload_to_s3.py
Tuathe's picture
Update upload_to_s3.py
6ad50bb verified
import boto3
from botocore.exceptions import BotoCoreError, ClientError
import os
import streamlit as st
from dotenv import load_dotenv
# Load AWS credentials from .env
load_dotenv()
aws_access_key = st.secrets["AWS_ACCESS_KEY_ID"]
aws_secret_key = st.secrets["AWS_SECRET_ACCESS_KEY"]
region = st.secrets.get("AWS_REGION", "ap-south-1")
s3_client = boto3.client(
"s3",
aws_access_key_id=aws_access_key,
aws_secret_access_key=aws_secret_key,
region_name=region
)
def upload_file_to_s3(local_path, bucket, s3_key, aws_access_key, aws_secret_key, region):
s3_client = boto3.client(
"s3",
aws_access_key_id=aws_access_key,
aws_secret_access_key=aws_secret_key,
region_name=region
)
try:
s3_client.upload_file(local_path, bucket, s3_key)
print(f" Uploaded: {local_path} → s3://{bucket}/{s3_key}")
return True
except (BotoCoreError, ClientError) as e:
print(f" Upload failed: {e}")
return False