docker에서 생성한 minio를 python으로 관리하는 방법 예제

sshinohs·2023년 1월 13일
0
from minio import Minio
from glob import glob
import os

BUCKET_NAME = "savepaint-bucket"

DATASET_ROOT_DIR = "../dataset"

client = Minio(
    "localhost:9000",
    access_key="minio", secret_key="miniostorage", secure=False
)

if not client.bucket_exists(BUCKET_NAME):
    client.make_bucket(BUCKET_NAME)

# directory 하위 폴더 및 파일을 recursive하게 삽입
def upload_local_directory_to_minio(local_path, bucket_name, minio_path):
    assert os.path.isdir(local_path)

    for local_file in glob(local_path + '/**'):
        local_file = local_file.replace(os.sep, "/") # Replace \ with / on Windows
        if not os.path.isfile(local_file):
            upload_local_directory_to_minio(
                local_file, bucket_name, minio_path + "/" + os.path.basename(local_file))
        else:
            remote_path = os.path.join(
                minio_path, local_file[1 + len(local_path):])
            remote_path = remote_path.replace(
                os.sep, "/")  # Replace \ with / on Windows
            client.fput_object(bucket_name, remote_path, local_file)

upload_local_directory_to_minio(DATASET_ROOT_DIR, BUCKET_NAME, "")
profile
sshinohs

0개의 댓글