25 lines
577 B
Python
25 lines
577 B
Python
import os
|
|
import boto3
|
|
from botocore.config import Config
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
ENDPOINT = os.getenv("RUSTFS_ENDPOINT")
|
|
BUCKET = os.getenv("RUSTFS_BUCKET")
|
|
|
|
_s3 = boto3.client(
|
|
"s3",
|
|
endpoint_url=ENDPOINT,
|
|
aws_access_key_id=os.getenv("RUSTFS_ACCESS_KEY"),
|
|
aws_secret_access_key=os.getenv("RUSTFS_SECRET_KEY"),
|
|
config=Config(signature_version="s3v4"),
|
|
region_name="us-east-1",
|
|
)
|
|
|
|
|
|
def upload_rustfs(file_obj, filename: str) -> str:
|
|
_s3.upload_fileobj(file_obj, BUCKET, filename)
|
|
|
|
return f"{ENDPOINT}/{BUCKET}/{filename}"
|