使用 S3 版本控制將物件的多個版本保留在一個儲存貯體中,以便可以還原意外刪除或覆寫的物件
S3啟用版本控制
列出已啟用版本控制之儲存貯體中物件版本
1.登入 AWS Management Console 並開啟 Amazon S3 主控台。
2.在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
3.若要查看儲存貯體中的物件版本清單,請選擇 Show versions (顯示版本) 切換開關。
(設定版本控制狀態之前儲存貯體中所存放的物件會有 null 的版本 ID。)
已啟用版本控制之儲存貯體中的物件
一.新增物件:
儲存貯體上啟用版本控制後,Amazon S3 便會自動將唯一的版本 ID 新增至儲存貯體中存放的每個物件 (使用 PUT、POST 或 CopyObject)。
二.擷取物件:
簡單 GET 要求會擷取物件的目前版本。下圖顯示 GET 如何傳回 photo.gif 物件的目前版本。
若要擷取特定版本,您必須指定其版本 ID。下圖顯示 GET versionId 要求如何擷取物件的指定版本
使用主控台下載特定版本
Amazon S3 會顯示該物件的所有版本。
三.刪除物件
啟用版本控制時,簡單 DELETE 無法永久刪除物件。Amazon S3 會在儲存貯體中插入刪除標記,而該刪除標記會成為具有新 ID 的目前物件版本。
若要永久刪除已使用版本控制的物件,您必須使用 DELETE Object versionId。
下圖顯示刪除所指定的物件版本會永久移除該物件
使用主控台刪除
Amazon S3 會顯示該物件的所有版本。
四、取消刪除物件
如前所述,一般刪除是新增一個具有刪除標記得新版本,若要取消刪除則需要將具有刪除標記的版本移除。您必須在 DeleteObject versionId 要求中包含其版本 ID。
如果您只使用 DeleteObject 請求,其中目前版本為刪除標記 (不指定刪除標記的版本 ID),則 Amazon S3 不會刪去刪除標記,而是 PUTs 另一個刪除標記。
若要刪除具有 NULL 版本 ID 的刪除標記,必須在 DeleteObject 請求中作為
版本 ID 為 NULL。