go 获取minio目录下所有文件
时间: 2023-11-13 17:02:42 浏览: 428
可以使用Minio Go SDK提供的`ListObjects`方法获取Minio目录下的所有文件,以下是一个示例代码:
```go
package main
import (
"fmt"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
"log"
)
func main() {
endpoint := "minio.example.com:9000"
accessKeyID := "ACCESS_KEY"
secretAccessKey := "SECRET_KEY"
useSSL := false
// Initialize minio client object
minioClient, err := minio.New(endpoint, &minio.Options{
Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
Secure: useSSL,
})
if err != nil {
log.Fatalln(err)
}
bucketName := "mybucket"
prefix := "mydirectory/"
// List all objects in the given prefix
objectCh := minioClient.ListObjects(context.Background(), bucketName, minio.ListObjectsOptions{
Prefix: prefix,
Recursive: true,
})
// Print object names
for object := range objectCh {
if object.Err != nil {
log.Fatalln(object.Err)
}
fmt.Println(object.Key)
}
}
```
在这个示例代码中,我们首先初始化了一个Minio客户端对象,然后指定了要查询的bucket名称和目录前缀。接下来,我们使用`ListObjects`方法获取所有符合条件的文件对象,然后遍历这些对象并输出文件名。注意,由于`ListObjects`方法返回的是一个channel,所以我们需要使用`range`语句来遍历其中的元素。
阅读全文