Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translate minio-py docs to Chinese. #597

Merged
merged 1 commit into from Dec 11, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
198 changes: 198 additions & 0 deletions README_zh_CN.md
@@ -0,0 +1,198 @@
# 适用于与Amazon S3兼容的云存储的Minio Python Library [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io)

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

本文我们将学习如何安装Minio client SDK,并运行一个python的示例程序。对于完整的API以及示例,请参考[Python Client API Reference](https://docs.minio.io/docs/python-client-api-reference)。

本文假设你已经有一个可运行的 [Python](https://www.python.org/downloads/)开发环境。

## 最低要求

- Python 2.7或更高版本

## 使用pip安装

```sh
pip install minio
```

## 使用源码安装

```sh
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。 |

```py
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](https://play.minio.io:9000) 上的Minio服务,你可以用这个服务来开发和测试。示例中的访问凭据是公开的。

#### file-uploader.py

```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

```bash
python file_uploader.py

mc ls play/maylogs/
[2016-05-27 16:41:37 PDT] 12MiB pumaserver_debug.log
```

## API文档

完整的API文档在这里。
* [完整API文档](https://docs.minio.io/docs/python-client-api-reference)

### API文档 : 操作存储桶

* [`make_bucket`](https://docs.minio.io/docs/python-client-api-reference#make_bucket)
* [`list_buckets`](https://docs.minio.io/docs/python-client-api-reference#list_buckets)
* [`bucket_exists`](https://docs.minio.io/docs/python-client-api-reference#bucket_exists)
* [`remove_bucket`](https://docs.minio.io/docs/python-client-api-reference#remove_bucket)
* [`list_objects`](https://docs.minio.io/docs/python-client-api-reference#list_objects)
* [`list_objects_v2`](https://docs.minio.io/docs/python-client-api-reference#list_objects_v2)
* [`list_incomplete_uploads`](https://docs.minio.io/docs/python-client-api-reference#list_incomplete_uploads)

### API文档 : 存储桶策略

* [`get_bucket_policy`](https://docs.minio.io/docs/python-client-api-reference#get_bucket_policy)
* [`set_bucket_policy`](https://docs.minio.io/docs/python-client-api-reference#set_bucket_policy)

### API文档 : 存储桶通知

* [`set_bucket_notification`](https://docs.minio.io/docs/python-client-api-reference#set_bucket_notification)
* [`get_bucket_notification`](https://docs.minio.io/docs/python-client-api-reference#get_bucket_notification)
* [`remove_all_bucket_notification`](https://docs.minio.io/docs/python-client-api-reference#remove_all_bucket_notification)
* [`listen_bucket_notification`](https://docs.minio.io/docs/python-client-api-reference#listen_bucket_notification)

### API文档 : 操作文件对象

* [`fput_object`](https://docs.minio.io/docs/python-client-api-reference#fput_object)
* [`fget_object`](https://docs.minio.io/docs/python-client-api-reference#fget_object)

### API文档 : 操作对象

* [`get_object`](https://docs.minio.io/docs/python-client-api-reference#get_object)
* [`put_object`](https://docs.minio.io/docs/python-client-api-reference#put_object)
* [`stat_object`](https://docs.minio.io/docs/python-client-api-reference#stat_object)
* [`copy_object`](https://docs.minio.io/docs/python-client-api-reference#copy_object)
* [`get_partial_object`](https://docs.minio.io/docs/python-client-api-reference#get_partial_object)
* [`remove_object`](https://docs.minio.io/docs/python-client-api-reference#remove_object)
* [`remove_objects`](https://docs.minio.io/docs/python-client-api-reference#remove_objects)
* [`remove_incomplete_upload`](https://docs.minio.io/docs/python-client-api-reference#remove_incomplete_upload)

### API文档 : Presigned操作

* [`presigned_get_object`](https://docs.minio.io/docs/python-client-api-reference#presigned_get_object)
* [`presigned_put_object`](https://docs.minio.io/docs/python-client-api-reference#presigned_put_object)
* [`presigned_post_policy`](https://docs.minio.io/docs/python-client-api-reference#presigned_post_policy)

## 完整示例

#### 完整示例 : 操作存储桶

* [make_bucket.py](https://github.com/minio/minio-py/blob/master/examples/make_bucket.py)
* [list_buckets.py](https://github.com/minio/minio-py/blob/master/examples/list_buckets.py)
* [bucket_exists.py](https://github.com/minio/minio-py/blob/master/examples/bucket_exists.py)
* [list_objects.py](https://github.com/minio/minio-py/blob/master/examples/list_objects.py)
* [remove_bucket.py](https://github.com/minio/minio-py/blob/master/examples/remove_bucket.py)
* [list_incomplete_uploads.py](https://github.com/minio/minio-py/blob/master/examples/list_incomplete_uploads.py)

#### 完整示例 : 存储桶策略

* [set_bucket_policy.py](https://github.com/minio/minio-py/blob/master/examples/set_bucket_policy.py)
* [get_bucket_policy.py](https://github.com/minio/minio-py/blob/master/examples/get_bucket_policy.py)

#### 完整示例 : 存储桶通知

* [set_bucket_notification.py](https://github.com/minio/minio-py/blob/master/examples/set_bucket_notification.py)
* [get_bucket_notification.py](https://github.com/minio/minio-py/blob/master/examples/get_bucket_notification.py)
* [remove_all_bucket_notification.py](https://github.com/minio/minio-py/blob/master/examples/remove_all_bucket_notification.py)
* [listen_bucket_notification.py](https://github.com/minio/minio-py/blob/master/examples/listen_notification.py)

#### 完整示例 : 操作文件对象

* [fput_object.py](https://github.com/minio/minio-py/blob/master/examples/fput_object.py)
* [fget_object.py](https://github.com/minio/minio-py/blob/master/examples/fget_object.py)

#### 完整示例 : 操作对象

* [get_object.py](https://github.com/minio/minio-py/blob/master/examples/get_object.py)
* [put_object.py](https://github.com/minio/minio-py/blob/master/examples/put_object.py)
* [stat_object.py](https://github.com/minio/minio-py/blob/master/examples/stat_object.py)
* [copy_object.py](https://github.com/minio/minio-py/blob/master/examples/copy_object.py)
* [get_partial_object.py](https://github.com/minio/minio-py/blob/master/examples/get_partial_object.py)
* [remove_object.py](https://github.com/minio/minio-py/blob/master/examples/remove_object.py)
* [remove_objects.py](https://github.com/minio/minio-py/blob/master/examples/remove_objects.py)
* [remove_incomplete_upload.py](https://github.com/minio/minio-py/blob/master/examples/remove_incomplete_upload.py)

#### 完整示例 : Presigned操作

* [presigned_get_object.py](https://github.com/minio/minio-py/blob/master/examples/presigned_get_object.py)
* [presigned_put_object.py](https://github.com/minio/minio-py/blob/master/examples/presigned_put_object.py)
* [presigned_post_policy.py](https://github.com/minio/minio-py/blob/master/examples/presigned_post_policy.py)

## 了解更多

* [完整文档](https://docs.minio.io)
* [Minio Python SDK API文档](https://docs.minio.io/docs/python-client-api-reference)

## 贡献

[贡献指南](https://github.com/minio/minio-py/blob/master/docs/zh_CN/CONTRIBUTING.md)

[![PYPI](https://img.shields.io/pypi/v/minio.svg)](https://pypi.python.org/pypi/minio)
[![Build Status](https://travis-ci.org/minio/minio-py.svg)](https://travis-ci.org/minio/minio-py)
[![Build status](https://ci.appveyor.com/api/projects/status/1d05e6nvxcelmrak?svg=true)](https://ci.appveyor.com/project/harshavardhana/minio-py)