All Products
Search
Document Center

Object Storage Service:Mengelola objek di bucket dengan Pengendalian versi yang ditangguhkan

Last Updated:Mar 20, 2026

Saat Anda menangguhkan Pengendalian versi untuk sebuah bucket, OSS berhenti membuat versi baru untuk unggahan berikutnya. Versi yang sudah ada tidak terpengaruh—Anda tetap dapat membaca dan menghapusnya dengan menentukan ID versinya setelah Pengendalian versi ditangguhkan.

Topik ini menjelaskan perilaku operasi unggah, unduh, dan hapus pada bucket dengan Pengendalian versi yang ditangguhkan.

Unggah objek

Setiap objek yang diunggah ke bucket dengan Pengendalian versi yang ditangguhkan disimpan sebagai versi dengan ID null. Karena setiap objek hanya dapat memiliki satu versi null, perilakunya bergantung pada kondisi yang sudah ada:

Kondisi yang sudah adaApa yang terjadi setelah unggah
Tidak ada versi yang adaOSS membuat versi baru dengan ID null.
Versi yang ada dengan ID non-null (misalnya, 111111)Unggahan menjadi versi saat ini (ID null); versi sebelumnya (111111) tetap disimpan.
Versi null yang sudah adaVersi null tersebut ditimpa—ID versinya tetap null, tetapi konten objeknya diganti dengan unggahan baru.

Skenario 1: Tidak ada versi yang ada

Saat Anda menggunakan PutObject untuk mengunggah objek ke bucket dengan Pengendalian versi yang ditangguhkan, OSS menyimpan objek tersebut sebagai versi null.

Skenario 2: Versi yang ada dengan ID non-null

Saat bucket berisi versi dengan ID 111111 dan Anda mengunggah objek dengan nama yang sama, unggahan tersebut menjadi versi saat ini (ID null) dan versi 111111 disimpan sebagai versi sebelumnya.

Skenario 3: Versi null yang sudah ada

Saat bucket sudah berisi versi null dan Anda mengunggah objek dengan nama yang sama, versi null yang ada ditimpa secara permanen.

Untuk mengunggah objek ke bucket dengan Pengendalian versi yang ditangguhkan, gunakan perintah ossutil cp (upload objects) atau salah satu SDK berikut: OSS SDK for Java, OSS SDK for PHP, OSS SDK for Node.js, OSS SDK for Python, OSS SDK for .NET, OSS SDK for Go, dan OSS SDK for C++.

Unduh objek

Perilaku pengunduhan ditentukan oleh apakah Anda menentukan ID versi dalam permintaan GetObject:

  • ID versi tidak ditentukan: OSS mengembalikan versi saat ini. Di bucket dengan Pengendalian versi yang ditangguhkan, versi saat ini biasanya memiliki ID null.

  • ID versi ditentukan: OSS mengembalikan versi yang diminta secara tepat, terlepas dari apakah itu merupakan versi saat ini atau bukan.

Skenario 1: ID versi tidak ditentukan

Versi saat ini (ID null) dikembalikan.

Skenario 2: ID versi ditentukan

Versi dengan ID yang ditentukan (misalnya, 222222) dikembalikan.

Untuk mengunduh objek dari bucket dengan Pengendalian versi yang ditangguhkan, gunakan perintah ossutil cp (download objects) atau salah satu SDK berikut: OSS SDK for Java, OSS SDK for PHP, OSS SDK for Node.js, OSS SDK for Python, OSS SDK for .NET, OSS SDK for Go, dan OSS SDK for C++.

Hapus objek

Permintaan DeleteObject di bucket dengan Pengendalian versi yang ditangguhkan mengikuti aturan berikut:

  • ID versi tidak ditentukan: OSS memasukkan penanda hapus dengan ID null sebagai versi saat ini yang baru. Jika objek sudah memiliki versi null, versi tersebut diganti oleh penanda hapus (karena sebuah objek hanya dapat memiliki satu versi null). Versi non-null sebelumnya tetap disimpan.

  • ID versi ditentukan: OSS menghapus versi tertentu tersebut secara permanen.

Skenario 1: Menghapus objek yang ID versi saat ini bukan null

OSS menambahkan penanda hapus dengan ID null sebagai versi saat ini. Versi non-null yang sudah ada menjadi versi sebelumnya.

Skenario 2: Menghapus objek yang ID versi saat ini adalah null

OSS menambahkan penanda hapus dengan ID null, yang menimpa versi null yang sudah ada. Karena sebuah objek hanya dapat memiliki satu versi null, versi null asli diganti.

Skenario 3: Menghapus versi tertentu

Saat Anda menentukan ID versi (misalnya, 333333) dalam permintaan DeleteObject, versi tersebut dihapus secara permanen.

Untuk menghapus objek dari bucket dengan Pengendalian versi yang ditangguhkan, gunakan perintah ossutil rm atau salah satu SDK berikut: OSS SDK for Java, OSS SDK for PHP, OSS SDK for Node.js, OSS SDK for Python, OSS SDK for .NET, OSS SDK for Go, dan OSS SDK for C++.