1. 本示例需要导入sdk golang package 如下:
import (
"context"
"log"
"encoding/xml"
"os"
"os"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
)
2. 首先初始化客户端,配置endpoint、accesskey、secretkey 参数,示例代码如下:
s3Client, err := minio.New("s3.amazonaws.com", &minio.Options{
Creds: credentials.NewStaticV4("YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", ""),
Secure: true,
})
if err != nil {
log.Fatalln(err)
}
3. 调用GetBucketLifecycle接口,获取指定桶bucket的生命周期规则,并写入本地文件lifecycle.json
// Get bucket lifecycle from S3
lifecycle, err := s3Client.GetBucketLifecycle(context.Background(), "my-bucketname")
if err != nil {
log.Fatalln(err)
}
// Save the lifecycle document to a file
localLifecycleFile, err := os.Create("lifecycle.json")
if err != nil {
log.Fatalln(err)
}
defer localLifecycleFile.Close()
enc := xml.NewEncoder(localLifecycleFile)
enc.Indent(" ", " ")
if err := enc.Encode(lifecycle); err != nil {
log.Fatalln(err)
}