go 获取minio文件夹下行问所有文件名
时间: 2023-10-04 15:12:06 浏览: 192
您可以使用Minio的Golang SDK来获取存储桶(Bucket)中所有对象(Object)的名称。以下是一个简单的示例代码:
```go
package main
import (
"fmt"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"log"
)
func main() {
// 创建一个Minio的客户端对象
endpoint := "localhost:9000"
accessKeyID := "your-access-key-id"
secretAccessKey := "your-secret-access-key"
useSSL := false // 是否启用 SSL
minioClient, err := minio.New(endpoint, &minio.Options{
Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
Secure: useSSL,
})
if err != nil {
log.Fatalln(err)
}
// 获取存储桶中所有对象的名称
bucketName := "your-bucket-name"
objectsCh := make(chan minio.ObjectInfo)
doneCh := make(chan struct{})
defer close(doneCh)
go func() {
defer close(objectsCh)
for object := range minioClient.ListObjects(context.Background(), bucketName, minio.ListObjectsOptions{Recursive: true}) {
if object.Err != nil {
log.Println(object.Err)
return
}
objectsCh <- object
}
}()
for object := range objectsCh {
fmt.Println(object.Key)
}
}
```
在上述代码中,我们使用Minio的Golang SDK创建了一个Minio客户端对象。然后,我们使用`minioClient.ListObjects`方法获取存储桶中所有对象的信息,并将它们的名称打印到控制台上。
请注意,上述代码假定您已经正确地设置了Minio服务器并创建了一个存储桶,并且您已经获得了访问凭证。
阅读全文