Python上传文件到MinIO服务

MinIO Python SDK 是简单存储服务(又名S3)客户端,用于对任何与Amazon S3 兼具的对存储服务执行存储盘和对像操作。

有关API和示例的完整列表,请查看Python 客户端API 参考

最低要求

Python 3.7 或更高版本。

使用pip下载

pip3 install minio

下载源

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

快速入门示例 - 文件上传

这个演示程序连接到一个S3包含的对象存储服务器,在该服务器上创建一个盘,并将一个文件上传到盘中。

您需要以下项目才能连接到S3兼具的对象存储服务器:

参数 描述
端点 S3服务的URL。
访问密匙 S3服务中帐户的访问密码(又名用户ID)。
密匙 S3服务中帐户的密码(又名密码)。

此示例使用 MinIO 服务器游戏场https://play.min.io。请随意使用此服务进行测试和开发。

file_uploader.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

$ 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

更多参考资料

下一步探索

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容