Skip to content
Snippets Groups Projects
Commit 1e4737b3 authored by Jacopo Gasparetto's avatar Jacopo Gasparetto
Browse files

Add GET /buckets to list all buckets

parent 202967c4
No related branches found
No related tags found
No related merge requests found
import boto3
import json
import os
MINIO_ENDPOINT = os.getenv("MINIO_ENDPOINT", "http://minio:9000")
AWS_ACCESS_KEY_ID = os.getenv("MINIO_ACCESS_KEY_ID", "minioadmin")
AWS_SECRET_ACCESS_KEY = os.getenv("MINIO_SECRET_ACCESS_KEY", "minioadmin")
AWS_SESSION_TOKEN = None
def get_s3_client():
resource = boto3.resource('s3',
endpoint_url=MINIO_ENDPOINT,
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
aws_session_token=AWS_SESSION_TOKEN,
config=boto3.session.Config(signature_version='s3v4'),
verify=False
)
client = resource.meta.client
return client
def list_buckets() -> json:
s3 = get_s3_client()
buckets = s3.list_buckets()
buckets = {key: buckets[key] for key in ["Buckets", "Owner"]}
return json.dumps(buckets, default=str)
from typing import Union
from fastapi import FastAPI
from routes import buckets
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
\ No newline at end of file
app.include_router(buckets.router)
from fastapi import APIRouter
import ceph_service
router = APIRouter()
@router.get("/buckets")
def list_buckets():
return ceph_service.list_buckets()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment