适用于与Amazon S3兼容的云存储的Minio Python Library
Minio Python Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务。
本文我们将学习如何安装Minio client SDK,并运行一个python的示例程序。对于完整的API以及示例,请参考Python Client API Reference。
本文假设你已经有一个可运行的 Python开发环境。
最低要求
pip install minio
使用源码安装
git clone https://github.com/minio/minio-py
cd minio-py
python setup.py install
初始化Minio Client
Minio client需要以下4个参数来连接Minio对象存储服务。
参数 | 描述 |
---|---|
endpoint | 对象存储服务的URL。 |
access_key | Access key是唯一标识你的账户的用户ID。 |
secret_key | Secret key是你账户的密码。 |
secure | true代表使用HTTPS。 |
from minio import Minio
from minio.error import ResponseError
minioClient = Minio('play.minio.io:9000',
access_key='Q3AM3UQ867SPQQA43P2F',
secret_key='zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
secure=True)
示例-文件上传
本示例连接到一个Minio对象存储服务,创建一个存储桶并上传一个文件到存储桶中。
我们在本示例中使用运行在 https://play.minio.io:9000 上的Minio服务,你可以用这个服务来开发和测试。示例中的访问凭据是公开的。
file-uploader.py
# 引入Minio包。
from minio import Minio
from minio.error import (ResponseError, BucketAlreadyOwnedByYou,
BucketAlreadyExists)
# 使用endpoint、access key和secret key来初始化minioClient对象。
minioClient = Minio('play.minio.io:9000',
access_key='Q3AM3UQ867SPQQA43P2F',
secret_key='zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
secure=True)
# 调用make_bucket来创建一个存储桶。
try:
minioClient.make_bucket("maylogs", location="us-east-1")
except BucketAlreadyOwnedByYou as err:
pass
except BucketAlreadyExists as err:
pass
except ResponseError as err:
raise
else:
try:
minioClient.fput_object('maylogs', 'pumaserver_debug.log', '/tmp/pumaserver_debug.log')
except ResponseError as err:
print(err)
Run file-uploader
python file_uploader.py
mc ls play/maylogs/
[2016-05-27 16:41:37 PDT] 12MiB pumaserver_debug.log
API文档
完整的API文档在这里。
-
API文档 : 操作存储桶
- list_buckets
- bucket_exists
- remove_bucket
- list_objects
- list_objects_v2
-
API文档 : 存储桶策略
-
API文档 : 存储桶通知
- get_bucket_notification
- remove_all_bucket_notification
-
API文档 : 操作文件对象
-
API文档 : 操作对象
- put_object
- stat_object
- copy_object
- get_partial_object
- remove_object
- remove_objects
-
API文档 : Presigned操作
- presigned_put_object
- presigned_post_policy
完整示例
完整示例 : 操作存储桶
- make_bucket.py
- list_buckets.py
- bucket_exists.py
- list_objects.py
- remove_bucket.py
-
完整示例 : 存储桶策略
-
完整示例 : 存储桶通知
- get_bucket_notification.py
- remove_all_bucket_notification.py
-
完整示例 : 操作文件对象
-
完整示例 : 操作对象
- put_object.py
- stat_object.py
- copy_object.py
- get_partial_object.py
- remove_object.py
- remove_objects.py
-
完整示例 : Presigned操作
- presigned_put_object.py
-
了解更多
- Minio Python SDK API文档
贡献
原文: https://docs.minio.io/cn/python-client-quickstart-guide.html