获取桶列表
Bucket,是用于存储对象(Object)的容器,所有的对象都必须隶属于某个Bucket。用户可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此可以通过灵活创建不同的存储空间来完成不同的管理功能。用户需通过身份验证来查询自己创建的bucket,且无法匿名发送请求。
ListBuckets操作列出用户创建的bucket。
代码示例:
using System;
using System.Threading.Tasks;
using Amazon.Runtime;
using Amazon.S3;
namespace DotNetSDK.BucketOperation
{
public class ListBucketExample
{
public static async Task ListBuckets()
{
var accessKey = "YOUR_ACCESS_KEY";
var secretKey = "YOUR_SECRET_KEY";
var endpoint = "YOUR_ENDPOINT";
try
{
var credentials = new BasicAWSCredentials(accessKey, secretKey);
var conf = new AmazonS3Config
{
ServiceURL = endpoint
};
var s3Client = new AmazonS3Client(credentials, conf);
var result = await s3Client.ListBucketsAsync();
if (result.HttpStatusCode != System.Net.HttpStatusCode.OK)
{
Console.WriteLine("fail to list buckets, HttpStatusCode:{0}, ErrorCode:{1}.", (int) result.HttpStatusCode, result.HttpStatusCode);
return;
}
Console.WriteLine("the buckets of {0} are:", result.Owner.DisplayName);
result.Buckets.ForEach(b => { Console.WriteLine(b.BucketName); });
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
ListBuckets操作返回的结果如下:
属性名 | 类型 | 说明 |
---|---|---|
Buckets | List<S3Bucket> | bucket信息的数组,包含了每个bucket的名字和创建时间。 |
Owner | Owner | bucket的所有者信息。 |
响应结果:
HTTP状态码 | 响应码 | 描述 |
---|---|---|
200 | OK | 操作成功。 |
403 | Forbidden | 用户没有权限执行操作。 |