存储空间(Bucket)是存储对象(Object)的容器。您可以列举所有的存储空间,或符合指定条件的存储空间。

列举所有的存储空间

以下代码用于列举所有的存储空间:

const OSS = require('ali-oss');

const client = new OSS({
  // region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
  region: '<Your region>',
  // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>'
});

async function listBuckets() {
  try {
    const result = await client.listBuckets();
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列举指定前缀的存储空间

以下代码用于列举包含指定前缀(prefix)的存储空间:

const OSS = require('ali-oss');

const client = new OSS({
  region: '<Your region>',
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>'
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      prefix: 'prefix' // 指定需要列举的存储空间的前缀。
    });
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列举指定marker之后的存储空间

参数marker代表存储空间名称。以下代码用于列举指定marker之后的存储空间:

const OSS = require('ali-oss');

const client = new OSS({
  region: '<Your region>',
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>'
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      marker: 'marker' // 列举指定marker之后的存储空间。
    });
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列举指定个数的存储空间

以下代码用于列举指定个数(maxKeys)的存储空间:

const OSS = require('ali-oss');

const client = new OSS({
  region: '<Your region>',
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>'
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      'max-keys': 20 // 限定此次列举存储空间的个数为20个。
    });
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();