千家信息网

Apache中如何使用 minIO

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇文章为大家展示了Apache中如何使用 minIO,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。docker启动minio在/home下创建minio的数
千家信息网最后更新 2024年11月11日Apache中如何使用 minIO

本篇文章为大家展示了Apache中如何使用 minIO,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

docker启动minio

在/home下创建minio的数据和配置目录

启动minio服务

docker run -d -p 9000:9000 --name minio  \  --net=host \  -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \  -e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \  -v /home/minio/data:/data  -v /home/minio/config:/root/.minio \  minio/minio server /data

--net暴露ip可以外部访问

MINIO_ACCESS_KEY、MINIO_SECRET_KEY用于浏览器访问服务的账号和密码

-v /home/minio/data:/data 用于挂载容器数据到宿主机 -v /home/minio/config:/root/.minio 用于挂载容器配置到宿主机

浏览器访问minio

http://172.18.0.64:9000/

api使用

安装minio依赖

go get -u github.com/minio/minio-go

编写测试用例

package mainimport (        "fmt"        "github.com/minio/minio-go"        "hydrogen.com/library/utils/log")const (        endpoint = "172.18.0.64:9000"        accessKeyID = "AKIAIOSFODNN7EXAMPLE"        secretAccessKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"        useSSL = false)func upload(){        // 初使化 minio client对象。        minioClient, err := minio.New(endpoint, accessKeyID, secretAccessKey, useSSL)        if err != nil {                log.Fatal(err)        }        log.Infof("%s\n", minioClient) // minioClient初使化成功        // 创建一个叫mymusic的存储桶。        bucketName := "hydrogen"        location := "cn-north-1"        err = minioClient.MakeBucket(bucketName, location)        if err != nil {                // 检查存储桶是否已经存在。                exists, err := minioClient.BucketExists(bucketName)                if err == nil && exists {                        log.Infof("We already own %s\n", bucketName)                } else {                        log.Fatal(err)                }        }        log.Infof("Successfully created %s\n", bucketName)        // 上传一个zip文件。        objectName := "iris.txt"        filePath := "E:/iris.txt"        contentType := "text/plain"        // 使用FPutObject上传一个zip文件。        n, err := minioClient.FPutObject(bucketName, objectName, filePath, minio.PutObjectOptions{ContentType:contentType})        if err != nil {                log.Fatal(err)        }        log.Infof("Successfully uploaded %s of size %d\n", objectName, n)}func getObject(){        // 初使化 minio client对象。        minioClient, err := minio.New(endpoint, accessKeyID, secretAccessKey, useSSL)        if err != nil {                log.Fatal(err)        }        log.Infof("%s\n", minioClient) // minioClient初使化成功        // 创建一个叫mymusic的存储桶。        bucketName := "hydrogen"        objectName := "iris.txt"        object, err := minioClient.GetObject(bucketName, objectName, minio.GetObjectOptions{})        if err != nil {                fmt.Println(err)                return        }        log.Infof("%s\n", object)}func getFObject(){        // 初使化 minio client对象。        minioClient, err := minio.New(endpoint, accessKeyID, secretAccessKey, useSSL)        if err != nil {                log.Fatal(err)        }        log.Infof("%s\n", minioClient) // minioClient初使化成功        // 创建一个叫mymusic的存储桶。        bucketName := "hydrogen"        objectName := "iris.txt"        filePath := "E:/test/iris.txt"        err = minioClient.FGetObject(bucketName, objectName, filePath, minio.GetObjectOptions{})        if err != nil {                fmt.Println(err)                return        }}func main() {        //上传        upload()        //下载到本地        getFObject()}

上述内容就是Apache中如何使用 minIO,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0