Pengendalian versi berlaku untuk semua objek dalam sebuah bucket. Dengan fitur ini, Anda dapat memulihkan objek ke salah satu versi sebelumnya jika objek tersebut tidak sengaja ditimpa atau dihapus.
Sebuah bucket dapat berada dalam salah satu dari tiga status pengendalian versi: unversioned (default), versioning-enabled, atau versioning-suspended. Untuk informasi selengkapnya tentang pengendalian versi, lihat Versioning.
Pengendalian versi didukung pada kit pengembangan perangkat lunak (SDK) versi 6.8.0 dan yang lebih baru.
Atur status pengendalian versi bucket
Kode berikut menunjukkan cara mengaktifkan atau menangguhkan pengendalian versi untuk sebuah bucket.
const OSS = require('ali-oss');
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket 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,
// Setel bucket ke nama bucket Anda.
bucket: 'yourbucketname'
});
async function putBucketVersioning() {
// Setel status pengendalian versi bucket ke Enabled atau Suspended.
const status = 'Enabled'; // `Enabled` atau `Suspended`
const result = await client.putBucketVersioning('BucketName', status);
console.log(result);
}
putBucketVersioning();Dapatkan status pengendalian versi bucket
Kode berikut menunjukkan cara mengambil status pengendalian versi sebuah bucket.
const OSS = require('ali-oss');
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket 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,
// Setel bucket ke nama bucket Anda.
bucket: 'yourbucketname'
});
async function getBucketVersioning() {
// Dapatkan status pengendalian versi bucket.
const result = await client.getBucketVersioning('BucketName');
console.log(result.versionStatus);
}
getBucketVersioning();Daftar semua versi objek dalam bucket
Kode berikut menunjukkan cara mencantumkan semua versi objek, termasuk penanda hapus, dalam bucket tertentu.
const OSS = require('ali-oss');
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket 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,
// Setel bucket ke nama bucket Anda.
bucket: 'yourbucketname'
});
async function getBucketVersions() {
// Cantumkan semua versi objek, termasuk penanda hapus.
const result = await client.getBucketVersions();
console.log(result.objects);
console.log(result.deleteMarker);
}
getBucketVersions();Referensi
Untuk kode contoh lengkap tentang pengelolaan pengendalian versi, lihat contoh di GitHub.
Untuk informasi tentang operasi API guna mengatur status pengendalian versi bucket, lihat PutBucketVersioning.
Untuk informasi tentang operasi API guna mengambil status pengendalian versi bucket, lihat GetBucketVersioning.
Untuk informasi tentang operasi API guna mencantumkan semua versi objek dalam bucket, termasuk penanda hapus, lihat ListObjectVersions (GetBucketVersions).