全部产品
Search
文档中心

对象存储 OSS:Node.js获取对象标签

更新时间:Dec 20, 2023

设置对象标签后,您可以根据需要获取Object的标签信息。当存储空间(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,
  // 填写Bucket名称,例如examplebucket。
  bucket: 'examplebucket',
});

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

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

getObjectTagging(objectName)

获取Object指定版本标签信息

当Bucket已开启版本控制时,通过指定Object的版本ID(versionId),您可以获取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,
  // 填写Bucket名称,例如examplebucket。
  bucket: 'examplebucket',
});

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

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

getObjectTagging(objectName)

相关文档

  • 关于获取对象标签的完整示例代码,请参见GitHub示例

  • 关于获取对象标签的API接口说明,请参见GetObjectTagging