全部产品
Search
文档中心

Object Storage Service:Daftar bucket (Harmony SDK)

更新时间:Nov 30, 2025

Bucket adalah wadah yang menyimpan objek. Semua objek disimpan dalam sebuah bucket. Anda dapat mencantumkan bucket yang memenuhi kondisi tertentu di seluruh wilayah dalam Akun Alibaba Cloud Anda. Bucket yang tercantum diurutkan secara alfabetis.

Perhatian

  • Untuk informasi selengkapnya mengenai wilayah yang didukung OSS beserta Titik akhirnya, lihat Regions and Endpoints.

  • Untuk mencantumkan bucket, Anda harus memiliki izin oss:ListBuckets. Untuk informasi selengkapnya, lihat Grant custom access policies to RAM users.

  • Kode berikut mencantumkan bucket di seluruh wilayah dalam Akun Alibaba Cloud Anda. Operasi ini tidak mendukung pencantuman bucket di wilayah tertentu. Hasilnya tidak dipengaruhi oleh wilayah dari titik akhir yang ditentukan.

Kode contoh

Kode berikut menunjukkan cara mencantumkan semua bucket di seluruh wilayah dalam Akun Alibaba Cloud Anda.

import Client, { RequestError } from '@aliyun/oss';

// Buat instans client OSS.
const client = new Client({
  // Ganti dengan Access Key ID dari kredensial akses temporary Layanan Token Keamanan (STS).
  accessKeyId: 'yourAccessKeyId',
  // Ganti dengan Access Key Secret dari kredensial akses temporary STS.
  accessKeySecret: 'yourAccessKeySecret',
  // Ganti dengan Security Token dari kredensial akses temporary STS.
  securityToken: 'yourSecurityToken',
});

// Cantumkan semua bucket.
const listBuckets = async () => {
  try {
    // Panggil metode listBuckets untuk mencantumkan semua bucket.
    const res = await client.listBuckets({});

    // Cetak hasilnya.
    console.log(JSON.stringify(res));
  } catch (err) {
    // Tangkap dan tangani error permintaan.
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code); // Kode error
      console.log('Error message: ', err.message); // Deskripsi error
      console.log('Request ID: ', err.requestId); // Identifier unik permintaan
      console.log('HTTP status code: ', err.status); // Kode status respons HTTP
      console.log('Error category: ', err.ec); // Kategori error
    } else {
      console.log('Unknown error: ', err); // Error yang bukan tipe RequestError
    }
  }
};

// Panggil fungsi untuk mencantumkan semua bucket.
listBuckets();

Skenario lainnya

Daftarkan bucket dengan awalan tertentu

Kode berikut menunjukkan cara mencantumkan bucket yang memiliki awalan `bucketNamePrefix` di seluruh wilayah dalam Akun Alibaba Cloud Anda.

import Client, { RequestError } from '@aliyun/oss';

// Buat instans client OSS.
const client = new Client({
  // Ganti dengan Access Key ID dari kredensial akses temporary Layanan Token Keamanan (STS).
  accessKeyId: 'yourAccessKeyId',
  // Ganti dengan Access Key Secret dari kredensial akses temporary STS.
  accessKeySecret: 'yourAccessKeySecret',
  // Ganti dengan Security Token dari kredensial akses temporary STS.
  securityToken: 'yourSecurityToken',
});

// Cantumkan bucket yang dimulai dengan awalan tertentu.
const listBucketsWithPrefix = async () => {
  try {
    // Panggil metode listBuckets dan tentukan parameter prefix untuk memfilter nama bucket.
    const res = await client.listBuckets({
      prefix: 'bucketNamePrefix' // Tentukan awalan untuk nama bucket.
    });

    // Cetak hasilnya.
    console.log(JSON.stringify(res));
  } catch (err) {
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code);
      console.log('Error message: ', err.message);
      console.log('Request ID: ', err.requestId);
      console.log('HTTP status code: ', err.status);
      console.log('Error category: ', err.ec);
    } else {
      console.log('Unknown error: ', err);
    }
  }
};

// Panggil fungsi untuk mencantumkan bucket yang dimulai dengan awalan tertentu.
listBucketsWithPrefix();

Daftarkan semua bucket menggunakan token paginasi (marker)

Kode berikut menunjukkan cara mencantumkan semua bucket menggunakan token pagination (marker).

import Client, { RequestError } from '@aliyun/oss';

// Buat instans client OSS.
const client = new Client({
  // Ganti dengan Access Key ID dari kredensial akses temporary Layanan Token Keamanan (STS).
  accessKeyId: 'yourAccessKeyId',
  // Ganti dengan Access Key Secret dari kredensial akses temporary STS.
  accessKeySecret: 'yourAccessKeySecret',
  // Ganti dengan Security Token dari kredensial akses temporary STS.
  securityToken: 'yourSecurityToken',
});

// Cantumkan semua bucket menggunakan token pagination (marker).
const listBucketsWithMarker = async () => {
  try {
    let marker: string | undefined; // Token pagination. Awalnya kosong.
    let isTruncated = true; // Menunjukkan apakah masih ada data yang perlu diambil.

    // Lakukan loop untuk mengambil semua bucket hingga tidak ada data lagi.
    while (isTruncated) {
      const res = await client.listBuckets({
        marker // Token pagination saat ini.
      });

      // Cetak hasilnya.
      console.log(JSON.stringify(res));

      // Perbarui status pagination.
      isTruncated = res.data.isTruncated; // Menunjukkan apakah masih ada data.
      marker = res.data.nextMarker; // Token pagination berikutnya.
    }
  } catch (err) {
    if (err instanceof RequestError) {
      console.log('Error code: ', err.code);
      console.log('Error message: ', err.message);
      console.log('Request ID: ', err.requestId);
      console.log('HTTP status code: ', err.status);
      console.log('Error category: ', err.ec);
    } else {
      console.log('Unknown error: ', err);
    }
  }
};

// Panggil fungsi untuk mencantumkan semua bucket menggunakan token pagination.
listBucketsWithMarker();

Referensi