获取桶列表
以下代码用于请求用户在指定区域内所有存储桶的列表,桶按照字母顺序排列。
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
"os"
)
func exitErrorf(msg string, args ...interface{}) {
fmt.Fprintf(os.Stderr, msg+"\n", args...)
os.Exit(1)
}
func main() {
sess, err := session.NewSession(&aws.Config{
Region: aws.String("Region"),
Endpoint: aws.String("your-endpoint"),
Credentials: credentials.NewStaticCredentials("your-access-key", "your-secret-access-key", ""),
})
svc := s3.New(sess)
result, err := svc.ListBuckets(nil)
if err != nil {
exitErrorf("Unable to list buckets, %v", err)
}
fmt.Println("Buckets:")
for _, b := range result.Buckets {
fmt.Printf("* %s created on %s\n",
aws.StringValue(b.Name), aws.TimeValue(b.CreationDate))
}
for _, b := range result.Buckets {
fmt.Printf("%s\n", aws.StringValue(b.Name))
}
}
注意
代码中 access key 和 secret access key 分别为对应账号的 access key 和 secret access key。 其中 aws.Config 代表的是对访问信息的配置,一般要配置提供对象存储服务的 IP 地址和端口号、采用的签名算法、签名版本。