Node.js删除对象标签

您可以根据需要删除不需要的标签信息。当存储空间(Bucket)已开启版本控制时,OSS默认只删除Object当前版本的标签信息,您可以通过指定Object的版本ID(versionId)来删除Object指定版本标签信息。

删除Object标签信息

当存储空间(Bucket)未开启版本控制时,您可以根据需要删除Object标签信息。当Bucket已开启版本控制时,OSS默认只删除Object当前版本标签信息。

以下代码用于删除目标存储空间examplebucket中exampledir目录下的exampleobject.txt文件的对象标签信息。

const OSS = require('ali-oss')

const client = new OSS({
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourRegion',
  // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填写Bucket名称,例如examplebucket。
  bucket: 'examplebucket',
});

// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
constobjectName='exampledir/exampleobject.txt'

// 删除Object的标签信息。
async function deleteObjectTagging(objectName) {
  try {
    const result = await client.deleteObjectTagging(objectName);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteObjectTagging(objectName)

删除Object指定版本标签信息

当Bucket已开启版本控制时,通过指定Object的版本ID,您可以删除Object指定版本的对象标签。

以下代码用于删除目标存储空间examplebucket中exampledir目录下的exampleobject.txt文件指定版本的对象标签信息。

说明

关于获取versionId的具体操作,请参见列举文件

const OSS = require('ali-oss')

const client = new OSS({
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'yourRegion',
  // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // 填写Bucket名称,例如examplebucket。
  bucket: 'examplebucket',
});

// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
constobjectName='exampledir/exampleobject.txt'
// 填写Object的版本ID。
const versionId='CAEQIRiBgMDqvPqA3BciIDJhMjE4MWZkN2ViYTRmYzJhZjkxMzk2YWM2NjJk****'

// 删除Object的标签信息。
async function deleteObjectTagging(objectName) {
  try {
    const options = {
      versionId
    };
    const result = await client.deleteObjectTagging(objectName, options);
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteObjectTagging(objectName)

相关文档