This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
"""Definition of connect function."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
from minio import Minio
|
||||
|
||||
|
||||
def connect_minio() -> Minio:
|
||||
"""Connect to MinIO server."""
|
||||
# ensure necessary env vars available
|
||||
env_var_list = [
|
||||
'MINIO_ENDPOINT',
|
||||
'MINIO_ACCESS_KEY',
|
||||
'MINIO_SECRET_KEY',
|
||||
'MINIO_BUCKET_NAME',
|
||||
]
|
||||
for env_var in env_var_list:
|
||||
# ensure env var set
|
||||
assert (
|
||||
env_var in os.environ
|
||||
), f"environment variable not set: {
|
||||
env_var
|
||||
}"
|
||||
# prepare arguments
|
||||
minio_endpoint = os.getenv('MINIO_ENDPOINT', default='')
|
||||
minio_access_key = os.getenv('MINIO_ACCESS_KEY', default='')
|
||||
minio_secret_key = os.getenv('MINIO_SECRET_KEY', default='')
|
||||
minio_bucket_name = os.getenv('MINIO_BUCKET_NAME', default='')
|
||||
# connect client
|
||||
client = Minio(
|
||||
endpoint=minio_endpoint,
|
||||
access_key=minio_access_key,
|
||||
secret_key=minio_secret_key,
|
||||
secure=False,
|
||||
)
|
||||
# ensure bucket exists
|
||||
if not client.bucket_exists(bucket_name=minio_bucket_name):
|
||||
logging.info('creating bucket: %s', minio_bucket_name)
|
||||
client.make_bucket(bucket_name=minio_bucket_name)
|
||||
logging.debug('finished')
|
||||
return client
|
||||
Reference in New Issue
Block a user