Minio: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) (→Сохранить файл) |
Vovan (обсуждение | вклад) (→Через conda) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
=Работа из python= | =Работа из python= | ||
| − | == | + | ==Окружение== |
| − | === | + | ===через python=== |
python3 -m venv myenv | python3 -m venv myenv | ||
| Строка 11: | Строка 11: | ||
pip install boto3 | pip install boto3 | ||
| − | === | + | ===через conda=== |
conda create --name minio_project python=3.10 boto3 | conda create --name minio_project python=3.10 boto3 | ||
conda activate minio_project | conda activate minio_project | ||
| + | |||
| + | ==Конфиг== | ||
| + | |||
| + | config.py | ||
| + | |||
| + | <pre> | ||
| + | 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' | ||
| + | ) | ||
| + | </pre> | ||
==Сохранить файл== | ==Сохранить файл== | ||
| + | |||
| + | upload.py | ||
| + | |||
| + | <pre> | ||
| + | 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') | ||
| + | </pre> | ||
==Загрузить файл== | ==Загрузить файл== | ||
| + | |||
| + | download.py | ||
| + | |||
| + | <pre> | ||
| + | from config import s3_client, BUCKET_NAME | ||
| + | |||
| + | # s3_client.download_file(Из какого бакета, Имя в облаке, Как назвать на диске) | ||
| + | s3_client.download_file(BUCKET_NAME, 'test.txt', 'restored_photo.txt') | ||
| + | print("✅ Файл успешно скачан!") | ||
| + | </pre> | ||
Текущая версия на 20:15, 3 апреля 2026
Содержание
Работа из 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("✅ Файл успешно скачан!")