HakierGrzonzo / miniopy-async

Asynchronous MinIO Python Client API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

miniopy-async

Asynchronous MinIO Python Client API

PyPI PyPI - Downloads PyPI - Python Version
GitHub repo size GitHub closed issues GitHub closed pull requests

Catalogue

Declaration

  • This project is based on Huseyn Mashadiyev's minio-async 1.0.0.
  • This project has fixed some bugs of minio-async and added some new features.
  • Miniopy-async 1.2 has been pulled requests to minio-async.

Minimum Requirements

  • Python>3.6

Build from source

git clone https://github.com/hlf20010508/miniopy-async.git
cd miniopy-async
python setup.py install

Installation

Install with pip

PyPI

pip install miniopy-async

Github Repository

pip install git+https://github.com/hlf20010508/miniopy-async.git

Install with pipenv

PyPI

pipenv install miniopy-async

Github Repository

pipenv install git+https://github.com/hlf20010508/miniopy-async.git#egg=miniopy-async

Quick Start

from miniopy_async import Minio
import asyncio

client = Minio(
    "play.min.io",
    access_key="Q3AM3UQ867SPQQA43P2F",
    secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
    secure=True  # http for False, https for True
)

async def main():
    url = await client.presigned_get_object("my-bucket", "my-object")
    print('url:', url)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
from sanic import Sanic
from miniopy_async import Minio
from urllib import parse

app = Sanic(__name__)

client = Minio(
    "play.min.io",
    access_key="Q3AM3UQ867SPQQA43P2F",
    secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
    secure=True  # http for False, https for True
)

@app.route('/download', methods=['GET'])
async def download(request):
    print('downloading ...')
    bucket=request.form.get('bucket')
    fileName=request.form.get('fileName')

    # decodeURI, for those which has other language in fileName, such as Chinese, Japanese, Korean
    fileName = parse.unquote(fileName)

    url = await client.presigned_get_object(bucket_name=bucket, object_name=fileName)
    return redirect(url)

More References

About

Asynchronous MinIO Python Client API

License:Apache License 2.0


Languages

Language:Python 100.0%