All Products
Search
Document Center

Object Storage Service:Kelola Pengendalian Versi (C# SDK V2)

Last Updated:Nov 09, 2025

Pengendalian versi berlaku untuk semua file (objek) dalam sebuah bucket. Dengan pengendalian versi objek, Anda dapat memulihkan objek ke salah satu versi sebelumnya jika objek tersebut ditimpa atau terhapus secara tidak sengaja.

Peringatan

  • Kode contoh dalam topik ini menggunakan China (Hangzhou) dengan ID wilayah cn-hangzhou sebagai contoh. Titik akhir publik digunakan secara default. Jika Anda ingin mengakses OSS dari produk Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang pemetaan antara wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan titik akhir.

  • Untuk menetapkan status pengendalian versi sebuah bucket, Anda harus memiliki izin oss:PutBucketVersioning. Untuk mendapatkan informasi tentang status pengendalian versi sebuah bucket, Anda harus memiliki izin oss:GetBucketVersioning. Untuk informasi lebih lanjut, lihat Berikan kebijakan akses kustom kepada Pengguna RAM.

Kode contoh

Tetapkan status pengendalian versi sebuah bucket

Gunakan kode berikut untuk menetapkan status pengendalian versi sebuah bucket menjadi Diaktifkan.

using OSS = AlibabaCloud.OSS.V2;  // Buat alias untuk Alibaba Cloud OSS SDK untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou";  // Diperlukan. Wilayah tempat bucket berada. Contoh ini menggunakan wilayah China (Hangzhou). Set Region to cn-hangzhou.
var endpoint = null as string;  // Opsional. Nama domain yang digunakan untuk mengakses OSS. Contoh ini menggunakan titik akhir wilayah China (Hangzhou). Set Endpoint to https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "nama bucket Anda";  // Diperlukan. Nama bucket.
var status = "Enabled";  // Diperlukan. Status pengendalian versi yang akan dikonfigurasi untuk bucket.

// Muat konfigurasi default dari OSS SDK. Konfigurasi secara otomatis membaca informasi kredensial seperti AccessKey dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit gunakan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas. Format: OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Tetapkan wilayah bucket untuk konfigurasi.
cfg.Region = region;   
// Jika titik akhir ditentukan, itu akan menimpa titik akhir default. 
if(endpoint != null) 
{
    cfg.Endpoint = endpoint;
} 

// Buat instance klien OSS berdasarkan informasi konfigurasi.
using var client = new OSS.Client(cfg);

// Panggil metode PutBucketVersioningAsync untuk mengaktifkan pengendalian versi untuk bucket.
var result = await client.PutBucketVersioningAsync(new OSS.Models.PutBucketVersioningRequest()
{
    Bucket = bucket,
    VersioningConfiguration = new OSS.Models.VersioningConfiguration()
    {
        Status = status
    }
});

// Cetak hasilnya.
Console.WriteLine("PutBucketVersioning done");  // Menunjukkan bahwa operasi selesai.
Console.WriteLine($"StatusCode: {result.StatusCode}");  // Kode status HTTP.
Console.WriteLine($"RequestId: {result.RequestId}");  // ID permintaan. ID ini digunakan untuk pemecahan masalah di Alibaba Cloud.
Console.WriteLine("Response Headers:");  // Header respons.
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // Telusuri dan cetak semua header respons.

Dapatkan status pengendalian versi sebuah bucket

Gunakan kode berikut untuk mendapatkan status pengendalian versi sebuah bucket.

using OSS = AlibabaCloud.OSS.V2;  // Buat alias untuk Alibaba Cloud OSS SDK untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou";  // Diperlukan. Wilayah tempat bucket berada. Contoh ini menggunakan wilayah China (Hangzhou). Set Region to cn-hangzhou.
var endpoint = null as string;  // Opsional. Nama domain yang digunakan untuk mengakses OSS. Contoh ini menggunakan titik akhir wilayah China (Hangzhou). Set Endpoint to https://oss-cn-hangzhou.aliyuncs.com.
var bucket = "nama Bucket Anda";  // Diperlukan. Nama bucket.

// Muat konfigurasi default dari OSS SDK. Konfigurasi secara otomatis membaca informasi kredensial seperti AccessKey dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit gunakan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas. Format: OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Tetapkan wilayah bucket untuk konfigurasi.
cfg.Region = region;   
// Jika titik akhir ditentukan, itu akan menimpa titik akhir default. 
if(endpoint != null) 
{
    cfg.Endpoint = endpoint;
} 

// Buat instance klien OSS berdasarkan informasi konfigurasi.
using var client = new OSS.Client(cfg);

// Panggil metode GetBucketVersioningAsync untuk mendapatkan informasi pengendalian versi bucket.
var result = await client.GetBucketVersioningAsync(new OSS.Models.GetBucketVersioningRequest()
{
    Bucket = bucket
});

// Cetak hasilnya.
Console.WriteLine("GetBucketVersioning done");  // Menunjukkan bahwa operasi selesai.
Console.WriteLine($"StatusCode: {result.StatusCode}");  // Kode status HTTP.
Console.WriteLine($"RequestId: {result.RequestId}");  // ID permintaan. ID ini digunakan untuk pemecahan masalah di Alibaba Cloud.
Console.WriteLine("Response Headers:");  // Header respons.
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // Telusuri dan cetak semua header respons.
Console.WriteLine($"Status: {result.VersioningConfiguration?.Status}");  // Cetak informasi pengendalian versi bucket.

Referensi

  • Untuk kode contoh lengkap untuk menetapkan status pengendalian versi sebuah bucket, lihat PutBucketVersioning.cs.

  • Untuk kode contoh lengkap untuk mendapatkan status pengendalian versi sebuah bucket, lihat GetBucketVersioning.cs.