Python 快速入门指南
适用于 Amazon S3 兼容云存储的 MinIO Python 客户端 SDK

MinIO Python 客户端 SDK 提供高级 API 来访问任何 MinIO 对象存储或其他 Amazon S3 兼容服务。
本快速入门指南介绍了如何安装 MinIO 客户端 SDK、连接到对象存储服务以及创建示例文件上传器。
以下示例使用
MinIO
mc
命令行工具。MinIO
play
测试服务器
play
服务器位于 https://play.min.io,是一个公共 MinIO 集群。该集群运行最新稳定版本的 MinIO,可用于测试和开发。示例中的访问凭据对公众开放,上传到 play
的所有数据都应视为公共数据,且任何人都可以读取。
有关 API 和示例的完整列表,请参阅 Python 客户端 API 参考。
安装 MinIO Python SDK
Python SDK 需要 Python 版本 3.7+。您可以使用 pip
或从 minio/minio-py
GitHub 存储库安装 SDK。
使用 pip
pip3 install minio
从 GitHub 使用源代码
git clone https://github.com/minio/minio-py
cd minio-py
python setup.py install
创建 MinIO 客户端
要连接到目标服务,请使用以下必需参数,使用 Minio()
方法创建一个 MinIO 客户端。
参数 |
描述 |
---|---|
|
目标服务的 URL。 |
|
服务中用户帐户的访问密钥(用户 ID)。 |
|
用户帐户的密钥(密码)。 |
例如
from minio import Minio
client = Minio("play.min.io",
access_key="Q3AM3UQ867SPQQA43P2F",
secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
)
示例 - 文件上传器
此示例执行以下操作:
使用提供的凭据连接到 MinIO
play
服务器。如果不存在,则创建一个名为
python-test-bucket
的存储桶。从
/tmp
上传名为test-file.txt
的文件,并将其重命名为my-test-file.txt
。使用
mc ls
验证文件是否已创建。
file_uploader.py
# file_uploader.py MinIO Python SDK example
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",
)
# The file to upload, change this path if needed
source_file = "/tmp/test-file.txt"
# The destination bucket and filename on the MinIO server
bucket_name = "python-test-bucket"
destination_file = "my-test-file.txt"
# Make the bucket if it doesn't exist.
found = client.bucket_exists(bucket_name)
if not found:
client.make_bucket(bucket_name)
print("Created bucket", bucket_name)
else:
print("Bucket", bucket_name, "already exists")
# Upload the file, renaming it in the process
client.fput_object(
bucket_name, destination_file, source_file,
)
print(
source_file, "successfully uploaded as object",
destination_file, "to bucket", bucket_name,
)
if __name__ == "__main__":
try:
main()
except S3Error as exc:
print("error occurred.", exc)
要运行此示例:
在
/tmp
中创建一个名为test-file.txt
的文件。要使用不同的路径或文件名,请修改source_file
的值。使用以下命令运行
file_uploader.py
:
python file_uploader.py
如果服务器上不存在存储桶,则输出类似于以下内容:
Created bucket python-test-bucket
/tmp/test-file.txt successfully uploaded as object my-test-file.txt to bucket python-test-bucket
使用
mc ls
验证上传的文件。
mc ls play/python-test-bucket
[2023-11-03 22:18:54 UTC] 20KiB STANDARD my-test-file.txt
更多参考
深入探索
贡献
许可证
此 SDK 根据 Apache 许可证 2.0 版 发布,更多信息请参见 LICENSE 和 NOTICE。