全部產品
Search
文件中心

Object Storage Service:Node.js列舉儲存空間

更新時間:Oct 29, 2024

儲存空間(Bucket)是用來儲存物件(Object)的容器。對象都隸屬於儲存空間。儲存空間按照字母順序排列。您可以列舉當前帳號所有地區下符合指定條件的儲存空間。

列舉所有儲存空間

以下代碼用於列舉當前帳號所有地區下的儲存空間。

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,
  // yourBucketName填寫Bucket名稱。
  bucket: 'yourBucketName',
});

async function listBuckets() {
  try {
    // 列舉當前帳號所有地區下的儲存空間。
    const result = await client.listBuckets();
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列舉指定首碼的儲存空間

以下代碼用於列舉當前帳號所有地區下以example為首碼(prefix)的儲存空間。

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,
  // yourBucketName填寫Bucket名稱。
  bucket: 'yourBucketName',
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      // 指定首碼。
      prefix: 'example' 
    });
    // 列舉當前帳號所有地區下指定首碼的儲存空間。
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列舉指定marker之後的儲存空間

以下代碼用於列舉當前帳號所有地區下名稱的字母序排在examplebucket之後的儲存空間。

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,
  // yourBucketName填寫Bucket名稱。
  bucket: 'yourBucketName',
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      // 指定Marker。
      marker: 'examplebucket' 
    });
    // 列舉當前帳號所有地區下名稱的字母序排在examplebucket之後的儲存空間。
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

列舉指定個數的儲存空間

以下代碼用於列舉當前帳號所有地區下的儲存空間,並指定列舉的最大個數為500。

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,
  // yourBucketName填寫Bucket名稱。
  bucket: 'yourBucketName',
});

async function listBuckets() {
  try {
    const result = await client.listBuckets({
      // max-keys用於限定此次返回Bucket的最大個數,max-keys取值不能大於1000。如果不指定max-keys,則預設返回100個Bucket。
      // 列舉500個Bucket。
      'max-keys': 500
    });
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

相關文檔