Minio

Материал из wiki.nntc.nnov.ru
Версия от 20:15, 3 апреля 2026; Vovan (обсуждение | вклад) (→‎Через conda)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Работа из python

Окружение

через python

python3 -m venv myenv
source myenv/bin/activate
pip install boto3

через conda

conda create --name minio_project python=3.10 boto3
conda activate minio_project

Конфиг

config.py
import boto3
from botocore.client import Config

MINIO_URL = 'http://2.nntc.nnov.ru:9000'
ACCESS_KEY = 'user08'
SECRET_KEY = '6f9tmxqp4zrb'
BUCKET_NAME = 'user08'

s3_client = boto3.client(
    's3',
    endpoint_url=MINIO_URL,
    aws_access_key_id=ACCESS_KEY,
    aws_secret_access_key=SECRET_KEY,
    config=Config(signature_version='s3v4'),
    region_name='us-east-1'
)

Сохранить файл

upload.py
from config import s3_client, BUCKET_NAME

def upload(local_file):
    try:
        s3_client.upload_file(local_file, BUCKET_NAME, local_file)
        print(f"Файл {local_file} загружен в Minio.")
    except Exception as e:
        print(f"Ошибка: {e}")

upload('photo.jpg')
upload('document.pdf')

Загрузить файл

download.py
from config import s3_client, BUCKET_NAME

# s3_client.download_file(Из какого бакета, Имя в облаке, Как назвать на диске)
s3_client.download_file(BUCKET_NAME, 'test.txt', 'restored_photo.txt')
print("✅ Файл успешно скачан!")