.NET獲取存儲(chǔ)空間的信息
更新時(shí)間:
存儲(chǔ)空間(Bucket)是存儲(chǔ)對(duì)象(Object)的容器。對(duì)象都隸屬于存儲(chǔ)空間。本文介紹如何獲取存儲(chǔ)空間的信息。
注意事項(xiàng)
本文以華東1(杭州)外網(wǎng)Endpoint為例。如果您希望通過(guò)與OSS同地域的其他阿里云產(chǎn)品訪問(wèn)OSS,請(qǐng)使用內(nèi)網(wǎng)Endpoint。關(guān)于OSS支持的Region與Endpoint的對(duì)應(yīng)關(guān)系,請(qǐng)參見(jiàn)OSS地域和訪問(wèn)域名。
本文以OSS域名新建OSSClient為例。如果您希望通過(guò)自定義域名、STS等方式新建OSSClient,請(qǐng)參見(jiàn)初始化。
要獲取存儲(chǔ)空間的信息,您必須具有
oss:GetBucketInfo
權(quán)限。具體操作,請(qǐng)參見(jiàn)為RAM用戶(hù)授權(quán)自定義的權(quán)限策略。
示例代碼
以下代碼用于獲取存儲(chǔ)空間的信息(Info),包括存儲(chǔ)空間所在地域、創(chuàng)建日期、權(quán)限信息等。
using Aliyun.OSS;
using Aliyun.OSS.Common;
// yourEndpoint填寫(xiě)B(tài)ucket所在地域?qū)?yīng)的Endpoint。以華東1(杭州)為例,Endpoint填寫(xiě)為https://oss-cn-hangzhou.aliyuncs.com。
var endpoint = "yourEndpoint";
// 從環(huán)境變量中獲取訪問(wèn)憑證。運(yùn)行本代碼示例之前,請(qǐng)確保已設(shè)置環(huán)境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// yourbucketname填寫(xiě)B(tài)ucket名稱(chēng)。
var bucketName = "yourbucketname";
// 填寫(xiě)B(tài)ucket所在地域?qū)?yīng)的Region。以華東1(杭州)為例,Region填寫(xiě)為cn-hangzhou。
const string region = "cn-hangzhou";
// 創(chuàng)建ClientConfiguration實(shí)例,按照您的需要修改默認(rèn)參數(shù)。
var conf = new ClientConfiguration();
// 設(shè)置v4簽名。
conf.SignatureVersion = SignatureVersion.V4;
// 創(chuàng)建OssClient實(shí)例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret, conf);
c.SetRegion(region);
try
{
// 存儲(chǔ)空間的信息包括地域(Region或Location)、創(chuàng)建日期(CreationDate)、擁有者(Owner)、權(quán)限(Grants)等。
var bucketInfo = client.GetBucketInfo(bucketName);
Console.WriteLine("Get bucket:{0} Info succeeded ", bucketName);
// 獲取存儲(chǔ)空間所在的地域。
Console.WriteLine("bucketInfo Location: {0}", bucketInfo.Bucket.Location);
// 獲取存儲(chǔ)空間的創(chuàng)建日期。
Console.WriteLine("bucketInfo CreationDate: {0}", bucketInfo.Bucket.CreationDate);
// 獲取存儲(chǔ)空間的數(shù)據(jù)容災(zāi)類(lèi)型。
Console.WriteLine("bucketInfo DataRedundancyType: {0}", bucketInfo.Bucket.DataRedundancyType);
// 獲取存儲(chǔ)空間的權(quán)限信息。
Console.WriteLine("bucketInfo Grant: {0}", bucketInfo.Bucket.AccessControlList.Grant);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
相關(guān)文檔
關(guān)于獲取存儲(chǔ)空間信息的API接口說(shuō)明,請(qǐng)參見(jiàn)GetBucketInfo。
文檔內(nèi)容是否對(duì)您有幫助?