バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 OSS内のすべてのオブジェクトはバケットに含まれています。 このトピックでは、バケットに関する情報をクエリする方法について説明します。
使用状況ノート
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba Cloudサービスを使用してOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSのリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSTS (Security Token Service) を使用してOSSClientインスタンスを作成する場合は、「初期化」をご参照ください。
バケットに関する情報を照会するには、
oss:GetBucketInfo
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
サンプルコード
次のサンプルコードは、バケットのリージョン、作成日、アクセス制御リスト (ACL) など、バケットに関する情報をクエリする方法の例を示しています。
Aliyun.OSSを使用したAliyun.OSS.Common; を使用
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// バケットの名前を指定します。
var bucketName = "yourbucketname";
// OSSClientインスタンスを作成します。
var client = new OssClient (エンドポイント、accessKeyId、accessKeySecret);
トライ
{
// バケット情報には、バケットのリージョン (regionまたはLocation) 、作成日 (CreationDate) 、所有者 (owner) 、およびACL (Grants) が含まれます。
var bucketInfo = client.GetBucketInfo(bucketName);
Console.WriteLine("Get bucket:{0} Info successed", bucketName);
// バケットのリージョンを照会します。
Console.WriteLine("bucketInfo Location: {0}", bucketInfo.Bucket.Location);
// バケットの作成日を照会します。
Console.WriteLine("bucketInfo CreationDate: {0}", bucketInfo.Bucket.CreationDate);
// バケットのディザスタリカバリタイプを照会します。
Console.WriteLine("bucketInfo DataRedundancyType: {0}", bucketInfo.Bucket.DataRedundancyType);
// バケットのACLを照会します。
Console.WriteLine("bucketInfo Grant: {0}", bucketInfo.Bucket.AccessControlList.Grant);
}
キャッチ (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; エラー情報: {1} 。 \nRequestID:{2}\tHostID:{3}"、
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
}
参考資料
バケットに関する情報を照会するために呼び出すことができるAPI操作の詳細については、「GetBucketInfo」をご参照ください。