189 8069 5689

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/

Apache中如何使用 minIO

api使用

安装minio依赖

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

编写测试用例

package main

import (
	"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,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


分享题目:Apache中如何使用minIO
网页URL:http://cdxtjz.cn/article/ppessj.html

其他资讯