Spaces:
Sleeping
Sleeping
File size: 2,114 Bytes
fd50325 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | """
Setup script to create the nlp-images bucket in MinIO
"""
import os
from dotenv import load_dotenv
from minio import Minio
from minio.error import S3Error
import logging
load_dotenv()
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
MINIO_ENDPOINT = os.getenv("MINIO_ENDPOINT", "s3.eu-central-003.backblazeb2.com")
MINIO_ACCESS_KEY = os.getenv("MINIO_ACCESS_KEY", "00367479ffb7e4e0000000001")
MINIO_SECRET_KEY = os.getenv("MINIO_SECRET_KEY", "K003opTvf92ijRj5dM7H1dgrlwcGTdA")
MINIO_SECURE = os.getenv("MINIO_SECURE", "true").lower() == "true"
MINIO_REGION = os.getenv("MINIO_REGION", "eu-central-003")
NLP_IMAGES_BUCKET = "nlp-images"
def setup_nlp_bucket():
"""Create the nlp-images bucket if it doesn't exist"""
try:
client = Minio(
MINIO_ENDPOINT,
access_key=MINIO_ACCESS_KEY,
secret_key=MINIO_SECRET_KEY,
secure=MINIO_SECURE,
region=MINIO_REGION
)
if client.bucket_exists(NLP_IMAGES_BUCKET):
logger.info(f"β
MinIO bucket '{NLP_IMAGES_BUCKET}' already exists")
return True
else:
logger.info(f"Creating MinIO bucket '{NLP_IMAGES_BUCKET}'...")
client.make_bucket(NLP_IMAGES_BUCKET)
logger.info(f"β
MinIO bucket '{NLP_IMAGES_BUCKET}' created successfully")
return True
except S3Error as e:
if e.code == "BucketAlreadyOwnedByYou" or e.code == "BucketAlreadyExists":
logger.info(f"β
MinIO bucket '{NLP_IMAGES_BUCKET}' already exists")
return True
else:
logger.error(f"β Error creating bucket: {e}")
return False
except Exception as e:
logger.error(f"β Error connecting to MinIO: {e}")
return False
if __name__ == "__main__":
logger.info("Setting up nlp-images bucket...")
success = setup_nlp_bucket()
if success:
logger.info("β
Setup complete!")
else:
logger.error("β Setup failed!")
exit(1)
|