适用于与Amazon S3兼容的云存储的Minio Python Library

Minio Python Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务。

本文我们将学习如何安装Minio client SDK,并运行一个python的示例程序。对于完整的API以及示例,请参考Python Client API Reference

本文假设你已经有一个可运行的 Python开发环境。

最低要求

  • Python 2.7或更高版本

    使用pip安装

  1. pip install minio

使用源码安装

  1. git clone https://github.com/minio/minio-py
  2. cd minio-py
  3. python setup.py install

初始化Minio Client

Minio client需要以下4个参数来连接Minio对象存储服务。

参数描述
endpoint对象存储服务的URL。
access_keyAccess key是唯一标识你的账户的用户ID。
secret_keySecret key是你账户的密码。
securetrue代表使用HTTPS。
  1. from minio importMinio
  2. from minio.error importResponseError
  3. minioClient =Minio('play.minio.io:9000',
  4. access_key='Q3AM3UQ867SPQQA43P2F',
  5. secret_key='zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  6. secure=True)

示例-文件上传

本示例连接到一个Minio对象存储服务,创建一个存储桶并上传一个文件到存储桶中。

我们在本示例中使用运行在 https://play.minio.io:9000 上的Minio服务,你可以用这个服务来开发和测试。示例中的访问凭据是公开的。

file-uploader.py

  1. # 引入Minio包。
  2. from minio importMinio
  3. from minio.error import(ResponseError,BucketAlreadyOwnedByYou,
  4. BucketAlreadyExists)
  5. # 使用endpoint、access key和secret key来初始化minioClient对象。
  6. minioClient =Minio('play.minio.io:9000',
  7. access_key='Q3AM3UQ867SPQQA43P2F',
  8. secret_key='zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  9. secure=True)
  10. # 调用make_bucket来创建一个存储桶。
  11. try:
  12. minioClient.make_bucket("maylogs", location="us-east-1")
  13. exceptBucketAlreadyOwnedByYouas err:
  14. pass
  15. exceptBucketAlreadyExistsas err:
  16. pass
  17. exceptResponseErroras err:
  18. raise
  19. else:
  20. try:
  21. minioClient.fput_object('maylogs','pumaserver_debug.log','/tmp/pumaserver_debug.log')
  22. exceptResponseErroras err:
  23. print(err)

Run file-uploader

  1. python file_uploader.py
  2. mc ls play/maylogs/
  3. [2016-05-2716:41:37 PDT]12MiB pumaserver_debug.log

API文档

完整的API文档在这里。

完整示例 : 操作存储桶

贡献指南

PYPIBuild StatusBuild status

原文: https://docs.minio.io/cn/python-client-quickstart-guide.html