mirror of
https://github.com/minio/docs.git
synced 2025-06-08 18:02:00 +03:00
97 lines
3.1 KiB
Markdown
97 lines
3.1 KiB
Markdown
# MinIO Python SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io)
|
|
|
|
MinIO Python SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.
|
|
|
|
For a complete list of APIs and examples, please take a look at the [Python Client API Reference](https://docs.min.io/docs/python-client-api-reference)
|
|
|
|
## Minimum Requirements
|
|
Python 3.7 or higher.
|
|
|
|
## Download using pip
|
|
|
|
```sh
|
|
pip3 install minio
|
|
```
|
|
|
|
## Download source
|
|
|
|
```sh
|
|
git clone https://github.com/minio/minio-py
|
|
cd minio-py
|
|
python setup.py install
|
|
```
|
|
|
|
## Quick Start Example - File Uploader
|
|
This example program connects to an S3-compatible object storage server, make a bucket on that server, and upload a file to the bucket.
|
|
|
|
You need the following items to connect to an S3-compatible object storage server:
|
|
|
|
| Parameters | Description |
|
|
|------------|------------------------------------------------------------|
|
|
| Endpoint | URL to S3 service. |
|
|
| Access Key | Access key (aka user ID) of an account in the S3 service. |
|
|
| Secret Key | Secret key (aka password) of an account in the S3 service. |
|
|
|
|
This example uses MinIO server playground [https://play.min.io](https://play.min.io). Feel free to use this service for test and development.
|
|
|
|
### file_uploader.py
|
|
```py
|
|
from minio import Minio
|
|
from minio.error import S3Error
|
|
|
|
|
|
def main():
|
|
# Create a client with the MinIO server playground, its access key
|
|
# and secret key.
|
|
client = Minio(
|
|
"play.min.io",
|
|
access_key="Q3AM3UQ867SPQQA43P2F",
|
|
secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
|
|
)
|
|
|
|
# Make 'asiatrip' bucket if not exist.
|
|
found = client.bucket_exists("asiatrip")
|
|
if not found:
|
|
client.make_bucket("asiatrip")
|
|
else:
|
|
print("Bucket 'asiatrip' already exists")
|
|
|
|
# Upload '/home/user/Photos/asiaphotos.zip' as object name
|
|
# 'asiaphotos-2015.zip' to bucket 'asiatrip'.
|
|
client.fput_object(
|
|
"asiatrip", "asiaphotos-2015.zip", "/home/user/Photos/asiaphotos.zip",
|
|
)
|
|
print(
|
|
"'/home/user/Photos/asiaphotos.zip' is successfully uploaded as "
|
|
"object 'asiaphotos-2015.zip' to bucket 'asiatrip'."
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
main()
|
|
except S3Error as exc:
|
|
print("error occurred.", exc)
|
|
```
|
|
|
|
#### Run File Uploader
|
|
```sh
|
|
$ python file_uploader.py
|
|
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.
|
|
|
|
$ mc ls play/asiatrip/
|
|
[2016-06-02 18:10:29 PDT] 82KiB asiaphotos-2015.zip
|
|
```
|
|
|
|
## More References
|
|
* [Python Client API Reference](https://docs.min.io/docs/python-client-api-reference)
|
|
* [Examples](https://github.com/minio/minio-py/tree/release/examples)
|
|
|
|
## Explore Further
|
|
* [Complete Documentation](https://docs.min.io)
|
|
|
|
## Contribute
|
|
Please refer [Contributors Guide](https://github.com/minio/minio-py/blob/release/CONTRIBUTING.md)
|
|
|
|
[](https://pypi.python.org/pypi/minio)
|