全部產品
Search
文件中心

Object Storage Service:Node.js擷取對象標籤

更新時間:Nov 01, 2024

設定對象標籤後,您可以根據需要擷取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,
  authorizationV4: true,
  // 填寫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,
  authorizationV4: true,
  // 填寫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