このトピックでは、指定されたバケットの総ストレージ容量、およびバケット内の各ストレージクラスのオブジェクト数とストレージ容量を取得する方法について説明します。
注意事項
バケットのストレージ容量を取得するには、oss:GetBucketStat 権限が必要です。 詳細については、「RAM ポリシーの一般的な例」をご参照ください。
サンプルコード
次のサンプルコードは、examplebucket という名前のバケットの総ストレージ容量、およびバケット内の各ストレージクラスのオブジェクト数とストレージ容量を取得する方法を示しています。
重要
次のサンプルコードで返されるすべてのプロパティは、Node.js SDK V6.18.0 以降でのみサポートされます。
const OSS = require("ali-oss");
const client = new OSS({
// バケットが配置されているリージョンに yourRegion を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
region: "oss-cn-hangzhou",
// 環境変数からアクセス認証情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// yourBucketName をバケットの名前に設定します。
bucket: 'yourBucketName',
});
async function getBucketStat() {
// バケット名を指定します。 例: examplebucket。
const bucket = "examplebucket";
try {
const stat = await client.getBucketStat(bucket);
console.log("バケットの総ストレージ容量", stat.stat.Storage);
console.log("バケット内のオブジェクトの総数", stat.stat.ObjectCount);
console.log(
"開始されたが完了または中止されていないマルチパートアップロードの数",
stat.stat.MultipartUploadCount
);
console.log("LiveChannel の数", stat.stat.LiveChannelCount);
console.log("正常にアップロードされたすべてのパート", stat.stat.MultipartPartCount);
console.log("削除マーカーの数", stat.stat.DeleteMarkerCount);
console.log("ストレージ情報が取得された時刻", stat.stat.LastModifiedTime);
console.log("標準ストレージクラスのストレージ容量", stat.stat.StandardStorage);
console.log("標準ストレージクラスのオブジェクト数", stat.stat.StandardObjectCount);
console.log("低頻度アクセスストレージクラスの課金対象ストレージ容量", stat.stat.InfrequentAccessStorage);
console.log(
"低頻度アクセスストレージクラスの実際のストレージ容量",
stat.stat.InfrequentAccessRealStorage
);
console.log(
"低頻度アクセスストレージクラスのオブジェクト数",
stat.stat.InfrequentAccessObjectCount
);
console.log("アーカイブストレージクラスの課金対象ストレージ容量", stat.stat.ArchiveStorage);
console.log("アーカイブストレージクラスの実際のストレージ容量", stat.stat.ArchiveRealStorage);
console.log("アーカイブストレージクラスのオブジェクト数", stat.stat.ArchiveObjectCount);
console.log("コールドアーカイブストレージクラスの課金対象ストレージ容量", stat.stat.ColdArchiveStorage);
console.log("コールドアーカイブストレージクラスの実際のストレージ容量", stat.stat.ColdArchiveRealStorage);
console.log("コールドアーカイブストレージクラスのオブジェクト数", stat.stat.ColdArchiveObjectCount);
console.log(
"ディープコールドアーカイブストレージクラスの課金対象ストレージ容量",
stat.stat.DeepColdArchiveStorage
);
console.log(
"ディープコールドアーカイブストレージクラスの実際のストレージ容量",
stat.stat.DeepColdArchiveRealStorage
);
console.log(
"ディープコールドアーカイブストレージクラスのオブジェクト数",
stat.stat.DeepColdArchiveObjectCount
);
} catch (error) {
console.error("バケット統計の取得エラー:", error);
}
}
getBucketStat();関連ドキュメント
API 操作の詳細については、「GetBucketStat」をご参照ください。