Chuyển tới nội dung chính
Cập nhật lần cuối:

Bucket Versioning

Versioning (Quản lý phiên bản) cho phép bucket lưu giữ nhiều phiên bản của cùng một object. Mỗi lần upload object cùng tên, thay vì ghi đè, hệ thống tạo ra phiên bản mới và giữ nguyên phiên bản cũ. Đây là tính năng quan trọng để bảo vệ dữ liệu khỏi xóa nhầm hoặc ghi đè không mong muốn.

Khi nào nên dùng Versioning?

  • Lưu trữ tài liệu quan trọng có thể cần khôi phục về phiên bản trước
  • Backup tự động — giữ lịch sử thay đổi file
  • Bảo vệ dữ liệu khỏi xóa nhầm (accidental delete)
  • Tuân thủ yêu cầu lưu trữ lịch sử dữ liệu theo quy định

Bật Versioning cho Bucket

Bước 1: Vào Simple Storage → Buckets, chọn vào tên bucket cần bật Versioning.

Bước 2: Chọn tab Versioning trong phần quản lý bucket.

Bật Versioning cho Bucket

Bước 3: Bật toggle Enable Versioning (hoặc chọn Enabled từ dropdown).

Bước 4: Xác nhận trong hộp thoại cảnh báo — hệ thống thông báo rằng việc bật Versioning ảnh hưởng đến chi phí lưu trữ (vì nhiều phiên bản được giữ lại).

Bước 5: Chọn Confirm để hoàn tất.

Sau khi bật, trạng thái hiển thị là Versioning: Enabled.

Sau khi bật Versioning, bạn không thể xóa hoàn toàn tính năng này — chỉ có thể tạm dừng (Suspend). Khi ở trạng thái Suspended, các object mới vẫn nhận version ID là null, nhưng các phiên bản cũ được giữ nguyên.

Cách Versioning hoạt động

Upload object

Khi upload object có cùng tên (key) với object đã tồn tại:

  • Hệ thống tạo phiên bản mới với Version ID duy nhất (ví dụ: a1b2c3d4e5f6...)
  • Phiên bản mới trở thành current version (phiên bản hiện tại)
  • Phiên bản cũ trở thành noncurrent version (phiên bản không phải hiện tại)
  • Tất cả phiên bản đều được lưu trữ và tính phí

Xóa object (Delete)

Khi xóa object trong bucket đã bật Versioning:

  • Hệ thống không xóa thực sự mà tạo ra một Delete Marker
  • Delete Marker trở thành current version
  • Object "biến mất" khỏi danh sách thông thường, nhưng vẫn có thể khôi phục

Để xóa vĩnh viễn một phiên bản cụ thể, phải chỉ định cả tên object lẫn Version ID.

Xem và Quản lý phiên bản Object

Bước 1: Trong danh sách object của bucket, bật Show Versions (hoặc Hiện tất cả phiên bản).

Bước 2: Mỗi object giờ hiển thị kèm theo các phiên bản, bao gồm:

Thông tinMô tả
Version IDMã định danh phiên bản duy nhất
LatestĐánh dấu đây là phiên bản hiện tại
SizeDung lượng của phiên bản này
Last ModifiedThời điểm tạo phiên bản
Is Delete MarkerCó phải Delete Marker hay không

Khôi phục phiên bản cũ

Cách 1: Tải về phiên bản cũ

Bước 1: Bật Show Versions để thấy toàn bộ phiên bản.

Bước 2: Tìm phiên bản cần khôi phục, chọn Download trên phiên bản đó.

Bước 3: Upload lại file vừa tải về để tạo phiên bản mới (phiên bản cũ trở thành phiên bản hiện tại).

Cách 2: Xóa Delete Marker

Nếu object bị "xóa" (có Delete Marker là current version), bạn có thể khôi phục bằng cách xóa Delete Marker:

Bước 1: Bật Show Versions.

Bước 2: Tìm Delete Marker (phiên bản đánh dấu là Latest và có biểu tượng xóa).

Bước 3: Chọn Delete Marker → chọn Delete version (xóa Delete Marker này).

Bước 4: Phiên bản trước đó tự động trở thành current version — object được khôi phục.

Xóa vĩnh viễn một phiên bản cụ thể

Bước 1: Bật Show Versions.

Bước 2: Tìm phiên bản cần xóa vĩnh viễn.

Bước 3: Chọn Delete this version.

Bước 4: Xác nhận xóa. Thao tác này xóa vĩnh viễn phiên bản đó — không thể khôi phục.

Tạm dừng Versioning (Suspend)

Khi tạm dừng Versioning:

  • Object mới upload có version ID là null (ghi đè phiên bản null cũ nếu có)
  • Các phiên bản cũ (trước khi Suspend) vẫn được giữ nguyên
  • Chi phí vẫn tính cho các phiên bản đang lưu

Bước 1: Vào tab Versioning của bucket.

Bước 2: Chọn Suspend và xác nhận.

Kiểm soát chi phí khi dùng Versioning

Versioning lưu trữ tất cả phiên bản, bao gồm cả các phiên bản cũ và Delete Markers — điều này làm tăng chi phí lưu trữ. Nên kết hợp với Lifecycle Rules để tự động xóa phiên bản cũ:

  • Xóa noncurrent versions sau 30 ngày
  • Chỉ giữ 3 phiên bản gần nhất
  • Xóa Delete Markers không còn cần thiết

Xem hướng dẫn tại Bucket Lifecycle.