使用 S3 版本控制將物件的多個版本保留在一個儲存貯體中,以便可以還原意外刪除或覆寫的物件
S3啟用版本控制
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇要啟用版本控制的儲存貯體名稱。
- 選擇 Properties (屬性)。
- 在 Bucket
Versioning (儲存貯體版本控制) 底下,選擇 Edit (編輯)。
- 選擇 Suspend (暫停) 或 Enable (啟用),然後選擇 Save
changes (儲存變更)。
列出已啟用版本控制之儲存貯體中物件版本
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 要求如何擷取物件的指定版本
使用主控台下載特定版本
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
- 在 Objects (物件) 清單中,選擇物件的名稱。
- 選擇 Versions (版本)。
Amazon S3 會顯示該物件的所有版本。
- 選取要擷取版本之 Version
ID (版本 ID) 旁邊的核取方塊。
- 選擇 Actions (動作),選擇 Download
(下載),然後儲存物件。
三.刪除物件
啟用版本控制時,簡單 DELETE 無法永久刪除物件。Amazon S3 會在儲存貯體中插入刪除標記,而該刪除標記會成為具有新 ID 的目前物件版本。
若要永久刪除已使用版本控制的物件,您必須使用 DELETE Object versionId。
下圖顯示刪除所指定的物件版本會永久移除該物件
使用主控台刪除
- 登入 AWS
Management Console 並開啟 Amazon S3 主控台。
- 在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
- 在 Objects (物件) 清單中,選擇物件的名稱。
- 選擇 Versions (版本)。
Amazon S3 會顯示該物件的所有版本。
- 選取要永久刪除版本之 Version
ID (版本 ID) 旁邊的核取方塊。
- 選擇 Delete (刪除)。
- 在 Permanently
delete objects? (永久刪除物件?) 中輸入 permanently
delete。
四、取消刪除物件
如前所述,一般刪除是新增一個具有刪除標記得新版本,若要取消刪除則需要將具有刪除標記的版本移除。您必須在 DeleteObject versionId 要求中包含其版本 ID。
如果您只使用 DeleteObject 請求,其中目前版本為刪除標記 (不指定刪除標記的版本 ID),則 Amazon S3 不會刪去刪除標記,而是 PUTs 另一個刪除標記。
若要刪除具有 NULL 版本 ID 的刪除標記,必須在 DeleteObject 請求中作為
版本 ID 為 NULL。