您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,如ListBucket时只显示带有指定标签的Bucket。

说明
  • 只有Bucket的拥有者及授权子账户才能为Bucket设置用户标签,否则返回403 Forbidden错误,错误码:AccessDenied。
  • 最多可设置20对Bucket用户标签(Key-Value对)。
  • Key最大长度为64字节,不能以http ://https://Aliyun为前缀,且不能为空。
  • Value最大长度为128字节,可以为空。
  • Key和Value必须为UTF-8编码。
  • PutBucketTagging是覆盖语义,即新设置的标签会完全覆盖已有的标签。

设置Bucket标签

以下代码用于设置Bucket标签:

const OSS = require('ali-oss')

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

// 设置Bucket标签。
async function putBucketTags(bucketName, tag) {
  try {
    let result = await client.putBucketTags(bucketName, tag);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

const tag = { a: '1', b: '2' };
putBucketTags('bucketName', tag)

获取Bucket标签

以下代码用于获取Bucket标签:

const OSS = require('ali-oss')

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

//获取Bucket标签。
async function getBucketTags(bucketName) {
  try {
    let result = await client.getBucketTags(bucketName);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

getBucketTags('bucketName')

列举带指定标签的Bucket

以下代码用于列举带指定标签的Bucket:

const OSS = require('ali-oss')

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

// 列举带指定标签的Bucket。
async function listBucketsTags() {
  try {
    const params = {
      // 填充tag-key、tag-value字段到listBuckets接口的params参数中。
      'tag-key': '<yourTagKey>',
      'tag-value': '<yourTagValue>'
    }
    const result = await client.listBuckets(params);
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBucketTags('bucketName')

删除Bucket标签

以下代码用于删除Bucket标签:

const OSS = require('ali-oss')

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

// 删除Bucket标签。
async function deleteBucketTags(bucketName) {
  try {
    let result = await client.deleteBucketTags(bucketName);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteBucketTags('bucketName')