Publish #1
@@ -1,44 +0,0 @@
|
||||
import asyncio
|
||||
from aiobotocore.session import get_session
|
||||
|
||||
|
||||
AWS_ACCESS_KEY_ID = "some_username"
|
||||
AWS_SECRET_ACCESS_KEY = "some_password"
|
||||
ENDPOINT_URL = ""
|
||||
|
||||
|
||||
async def main():
|
||||
session = get_session()
|
||||
|
||||
# Создаем S3 клиент
|
||||
async with session.create_client(
|
||||
"s3",
|
||||
region_name="us-east-1",
|
||||
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
|
||||
aws_access_key_id=AWS_ACCESS_KEY_ID,
|
||||
endpoint_url=ENDPOINT_URL, # важно для MinIO
|
||||
) as s3:
|
||||
|
||||
bucket = "mybucket"
|
||||
key = "example.txt"
|
||||
|
||||
# 1. Создаем bucket
|
||||
print("Создаю bucket…")
|
||||
await s3.create_bucket(Bucket=bucket)
|
||||
|
||||
# 2. Загружаем файл (put_object)
|
||||
print("Загружаю файл…")
|
||||
await s3.put_object(
|
||||
Bucket=bucket,
|
||||
Key=key,
|
||||
Body=b"Hello from aiobotocore + MinIO!"
|
||||
)
|
||||
|
||||
# 3. Скачиваем файл
|
||||
print("Скачиваю файл…")
|
||||
obj = await s3.get_object(Bucket=bucket, Key=key)
|
||||
data = await obj["Body"].read()
|
||||
print("Содержимое:", data.decode())
|
||||
|
||||
|
||||
asyncio.run(main())
|
||||
@@ -0,0 +1,36 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio-server
|
||||
ports:
|
||||
- "5356:9000"
|
||||
- "5357:9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${S3_ACCESS_KEY_ID}
|
||||
MINIO_ROOT_PASSWORD: ${S3_SECRET_ACCESS_KEY}
|
||||
volumes:
|
||||
- /home/volochay/coldstorage/minio:/data
|
||||
command: server /data --console-address ":9001"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/ready"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
minio-init:
|
||||
image: minio/mc:latest
|
||||
depends_on:
|
||||
minio:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID}
|
||||
S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY}
|
||||
BUCKET_NAME: ${BUCKET_NAME}
|
||||
entrypoint: >
|
||||
/bin/sh -c "
|
||||
mc alias set local http://minio:9000 ${S3_ACCESS_KEY_ID} ${S3_SECRET_ACCESS_KEY} &&
|
||||
mc mb -p local/${BUCKET_NAME} || true &&
|
||||
mc ilm rule add --expire-days 1 local/${BUCKET_NAME}
|
||||
"
|
||||
Reference in New Issue
Block a user