适用于与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_key Access key是唯一标识你的账户的用户ID。
secret_key Secret key是你账户的密码。
secure true代表使用HTTPS。
  1. from minio import Minio
  2. from minio.error import ResponseError
  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 import Minio
  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. except BucketAlreadyOwnedByYou as err:
  14. pass
  15. except BucketAlreadyExists as err:
  16. pass
  17. except ResponseError as err:
  18. raise
  19. else:
  20. try:
  21. minioClient.fput_object('maylogs', 'pumaserver_debug.log', '/tmp/pumaserver_debug.log')
  22. except ResponseError as err:
  23. print(err)

Run file-uploader

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

API文档

完整的API文档在这里。

完整示例 : 操作存储桶

贡献指南

PYPIBuild StatusBuild status

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