全部产品
Search
文档中心

Object Storage Service:Daftar Bucket (Node.js SDK)

更新时间:Nov 30, 2025

Topik ini menjelaskan cara menggunakan Node.js untuk menambah, menampilkan, mendaftar, dan menghapus konfigurasi inventaris bucket.

Penting

Jika Anda menggunakan fitur inventaris sebagai pengguna Resource Access Management (RAM), pastikan Anda memiliki izin yang diperlukan. Untuk informasi selengkapnya mengenai izin untuk fitur inventaris, lihat Klasifikasi Action OSS.

Tambahkan konfigurasi inventaris

Perhatikan hal-hal berikut saat menambahkan konfigurasi inventaris:

  • Sebuah bucket dapat memiliki maksimal 1.000 aturan inventaris.

  • Bucket sumber dan bucket tujuan untuk file manifest harus berada di wilayah yang sama.

Kode berikut menunjukkan cara menambahkan konfigurasi inventaris ke bucket.

const OSS = require('ali-oss');

const client = new OSS({
  // Setel bucket ke nama bucket Anda.
  bucket: 'yourBucketName',
  // Setel region ke wilayah tempat bucket Anda berada. Misalnya, jika bucket Anda berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
});

const inventory = {
  // Setel ID konfigurasi inventaris.
  id: 'default',
  // Menentukan apakah konfigurasi inventaris diaktifkan. Nilai yang valid: true dan false.
  isEnabled: false,
  // (Opsional) Setel aturan filter untuk inventaris guna menentukan awalan untuk memfilter objek.
  prefix: 'ttt',
  OSSBucketDestination: {
    // Setel format inventaris.
    format: 'CSV',
    // Setel accountId ke ID pemilik bucket tujuan.
    accountId: 'yourAccountId',
    // Setel rolename ke nama peran untuk bucket tujuan.
    rolename: 'AliyunOSSRole',
    // Setel bucket ke nama bucket tujuan.
    bucket: 'yourBucketName',
    // (Opsional) Setel prefix ke awalan path penyimpanan untuk hasil inventaris.
    prefix: 'yourPrefix ',
    // Untuk mengenkripsi inventaris menggunakan SSE-OSS, lihat kode berikut.
    // encryption: {'SSE-OSS': ''}
    // Untuk mengenkripsi inventaris menggunakan SSE-KMS, lihat kode berikut.
    /*
    encryption: {
      'SSE-KMS': {
        keyId: 'test-kms-id';
      };
    */
  },
  // Setel jadwal pembuatan inventaris. WEEKLY berarti sekali seminggu. DAILY berarti sekali sehari.
  frequency: 'Daily',
  // Menentukan apakah semua versi objek disertakan dalam hasil inventaris. Jika Anda menyetel parameter ini ke Current, hanya versi terkini objek yang disertakan.
  includedObjectVersions: 'All',
  optionalFields: {
    // (Opsional) Setel properti objek yang akan disertakan dalam inventaris.
    field: [
      'Size',
      'LastModifiedDate',
      'ETag',
      'StorageClass',
      'IsMultipartUploaded',
      'EncryptionStatus',
    ],
  },
};

async function putInventory() {
  // Setel bucket ke nama bucket tempat Anda ingin menambahkan konfigurasi inventaris.
  const bucket = 'yourBucketName';
  try {
    await client.putBucketInventory(bucket, inventory);
    console.log('Konfigurasi inventaris ditambahkan.');
  } catch (err) {
    console.log('Gagal menambahkan konfigurasi inventaris: ', err);
  }
}

putInventory();

Tampilkan konfigurasi inventaris

Kode berikut menunjukkan cara menampilkan konfigurasi inventaris bucket.

const OSS = require('ali-oss');

const client = new OSS({
  // Setel bucket ke nama bucket Anda.
  bucket: 'yourBucketName',
  // Setel region ke wilayah tempat bucket Anda berada. Misalnya, jika bucket Anda berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
});

async function getBucketInventoryById() {
  // Setel bucket ke nama bucket yang konfigurasi inventarisnya ingin Anda tampilkan.
  const bucket = 'yourBucketName';
  try {
    // Tampilkan konfigurasi inventaris.
    const result = await client.getBucketInventory(bucket, 'inventoryid');
    console.log(result.inventory);
  } catch (err) {
    console.log(err);
  }
}

getBucketInventoryById();

Daftar konfigurasi inventaris

Catatan

Satu permintaan dapat mengambil maksimal 100 konfigurasi inventaris. Untuk mengambil lebih dari 100 konfigurasi, kirimkan beberapa permintaan dengan menyertakan token dari respons sebelumnya dalam permintaan berikutnya.

Kode berikut menunjukkan cara mendaftar konfigurasi inventaris bucket.

const OSS = require('ali-oss');

const client = new OSS({
  // Setel bucket ke nama bucket Anda.
  bucket: 'yourBucketName',
  // Setel region ke wilayah tempat bucket Anda berada. Misalnya, jika bucket Anda berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
});

async function listBucketInventory() {
  const bucket = 'yourBucketName'; // Tentukan nama bucket.

  async function getNextPage(nextContinuationToken) {
    // Gunakan nextContinuationToken untuk mendapatkan halaman berikutnya. Jika Anda tidak memberikan token, halaman pertama akan diambil.
    const result = await client.listBucketInventory(bucket, nextContinuationToken);

    // Cetak hasilnya.
    console.log(result.inventoryList);

    // Jika ada halaman berikutnya, panggil fungsi ini secara rekursif.
    if (result.nextContinuationToken) {
      await getNextPage(result.nextContinuationToken);
    }
  }

  // Mulai mengambil halaman pertama.
  await getNextPage();
}

listBucketInventory();

Hapus konfigurasi inventaris

Kode berikut menunjukkan cara menghapus konfigurasi inventaris bucket.

const OSS = require('ali-oss');

const client = new OSS({
  // Setel bucket ke nama bucket Anda.
  bucket: 'yourBucketName',
  // Setel region ke wilayah tempat bucket Anda berada. Misalnya, jika bucket Anda berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
});

async function deleteBucketInventoryById() {
  // Tentukan nama bucket.
  const bucket = 'yourBucketName';
  // Hapus konfigurasi inventaris dengan ID tertentu.
  const inventory_id = 'Your InventoryId';
  try {
    await client.deleteBucketInventory(bucket, inventory_id);
  } catch (err) {
    console.log(err);
  }
}

deleteBucketInventoryById();

Referensi

  • Untuk informasi selengkapnya mengenai kode contoh lengkap untuk inventaris bucket, lihat Contoh GitHub.

  • Untuk informasi selengkapnya mengenai operasi API untuk menambahkan konfigurasi inventaris bucket, lihat PutBucketInventory.

  • Untuk informasi selengkapnya mengenai operasi API untuk menampilkan konfigurasi inventaris bucket, lihat GetBucketInventory.

  • Untuk informasi selengkapnya mengenai operasi API untuk mendaftar konfigurasi inventaris bucket, lihat ListBucketInventory.

  • Untuk informasi selengkapnya mengenai operasi API untuk menghapus konfigurasi inventaris bucket, lihat DeleteBucketInventory.