python minio基础测试

发布时间 2023-08-14 15:05:46作者: asia90li

1、docker部署minio

点击查看代码
mkdir -p /opt/minio
mkdir -p /opt/minio
mkdir -p /opt/minio/data

vim /opt/minio/config.env

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=admin
MINIO_VOLUMES="/mnt/data"
这里不用修改,这个是容器里面的路径

拉取镜像
docker pull minio/minio 



启动容器
docker run -dt                                  \
  -p 9000:9000 -p 9090:9090                     \
  -v /opt/minio/data:/mnt/data                             \
  -v /opt/minio/config.env:/etc/config.env         \
  -e "MINIO_CONFIG_ENV_FILE=/etc/config.env"    \
  --name "minio_local"                          \
  minio/minio  server --console-address ":9090"


9090为应用web客户端,9000为应用

2、python操作minio

点击查看代码
pip install minio
from minio import Minio
minioClient = Minio('192.168.66.160:9000',access_key='admin',secret_key='admin',secure=False)
bucket_name = "bak1"
设定公共访问策略只读
policy = '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["*"]},"Action":["s3:GetBucketLocation","s3:ListBucket"],"Resource":["arn:aws:s3:::%s"]},{"Effect":"Allow","Principal":{"AWS":["*"]},"Action":["s3:GetObject"],"Resource":["arn:aws:s3:::%s/*"]}]}' % (bucket_name, bucket_name)
minioClient.set_bucket_policy(bucket_name=bucket_name, policy=policy)
info = minioClient.fput_object("bak1", "12.png", r"C:\Users\Administrator\Pictures/12.png")
print(info)
print(info.object_name)

3、页面测试

点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<img src="http://192.168.66.160:9000/bak1/12.png"  alt="图片" />
</body>
</html>
Title 图片