Node.js获取存储空间的存储容量

本文介绍如何获取指定存储空间(Bucket)的总存储容量以及Bucket内不同存储类型文件(Object)的数量及其存储容量。

注意事项

要获取存储空间的存储容量,您必须有oss:GetBucketStat权限。具体操作,请参见RAM Policy常见示例

示例代码

以下代码用于获取examplebucket的总存储容量以及该Bucket内不同存储类型Object的数量及其存储容量。

重要

Node.js SDK 6.18.0及以上版本支持返回以下示例代码中包含的所有属性。

const OSS = require("ali-oss");
const client = new OSS({
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为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名称。
  bucket: 'yourBucketName',
});

async function getBucketStat() {
  // 填写存储空间名称,例如examplebucket。
  const bucket = "examplebucket";
  try {
    const stat = await client.getBucketStat(bucket);
    console.log("Bucket的总存储量", stat.stat.Storage);
    console.log("Bucket中总的Object数量", stat.stat.ObjectCount);
    console.log(
      "已经初始化但还未完成(Complete)或者还未中止(Abort)的Multipart Upload数量",
      stat.stat.MultipartUploadCount
    );
    console.log("Live Channel的数量", stat.stat.LiveChannelCount);
    console.log("所有已经成功上传的Part", stat.stat.MultipartPartCount);
    console.log("删除标记的数量", stat.stat.DeleteMarkerCount);
    console.log("获取到存储信息的时间点", stat.stat.LastModifiedTime);
    console.log("标准存储类型的存储量", stat.stat.StandardStorage);
    console.log("标准存储类型的Object数量", stat.stat.StandardObjectCount);
    console.log("低频存储类型的计费存储量", stat.stat.InfrequentAccessStorage);
    console.log(
      "低频存储类型的实际存储量",
      stat.stat.InfrequentAccessRealStorage
    );
    console.log(
      "低频存储类型的Object数量",
      stat.stat.InfrequentAccessObjectCount
    );
    console.log("归档存储类型的计费存储量", stat.stat.ArchiveStorage);
    console.log("归档存储类型的实际存储量", stat.stat.ArchiveRealStorage);
    console.log("归档存储类型的Object数量", stat.stat.ArchiveObjectCount);
    console.log("冷归档存储类型的计费存储量", stat.stat.ColdArchiveStorage);
    console.log("冷归档存储类型的实际存储量", stat.stat.ColdArchiveRealStorage);
    console.log("冷归档存储类型的Object数量", stat.stat.ColdArchiveObjectCount);
    console.log(
      "深度冷归档存储类型的计费存储量",
      stat.stat.DeepColdArchiveStorage
    );
    console.log(
      "深度冷归档存储类型的实际存储量",
      stat.stat.DeepColdArchiveRealStorage
    );
    console.log(
      "深度冷归档存储类型的Object数量",
      stat.stat.DeepColdArchiveObjectCount
    );
  } catch (error) {
    console.error("获取Bucket统计信息时出错", error);
  }
}
getBucketStat();

相关文档

关于获取指定Bucket的存储容量以及该Bucket内不同存储类型Object的数量及其存储容量的API接口说明,请参见GetBucketStat