本頁面說明如何啟用、停用及查看值區的物件版本管理狀態。如要瞭解如何列出、還原及刪除物件版本管理功能保留的物件,請參閱「使用版本化物件」。
必要的角色
如要取得設定及管理 bucket 物件版本管理功能所需的權限,請要求管理員為您授予 bucket 或 bucket 所在專案的 Storage 管理員 (roles/storage.admin) IAM 角色。這個預先定義的角色具備設定及管理 bucket 物件版本管理功能所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.buckets.getstorage.buckets.updatestorage.buckets.list- 只有在您打算使用Google Cloud 控制台執行本頁操作說明時,才需要這項權限。
您或許還可透過自訂角色取得這些權限。
如要瞭解如何授予 bucket 角色,請參閱「在 bucket 上設定及管理 IAM 政策」。如要瞭解如何授予專案角色,請參閱「管理專案存取權」。
為 bucket 設定物件版本管理
如要啟用或停用物件版本管理功能,請在 bucket 上設定這項功能。啟用物件版本管理功能後,每當使用中的物件版本遭到取代或刪除,該版本就會變成非現行版本。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要啟用或停用物件版本管理功能的 bucket 名稱。
選取靠近頁面頂端的「保護」分頁標籤。
物件版本管理功能的目前狀態會顯示在「Object versioning」(物件版本管理) 專區。
在「Object versioning」(物件版本管理) 區段中,按一下目前狀態即可變更。
「Object versioning」(物件版本管理) 對話方塊隨即顯示。
- 如要啟用物件版本管理功能並盡量降低儲存空間費用,請勾選「按照建議新增生命週期規則來管理版本費用」核取方塊。
按一下「確認」。
指令列
使用 gcloud storage buckets update 指令並加上適當的旗標:
gcloud storage buckets update gs://BUCKET_NAME FLAG
其中:
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。FLAG為--versioning時,會啟用物件版本管理功能;為--no-versioning時,則會停用該功能。
如果成功,回應會類似以下範例:
Updating gs://my-bucket/... Completed 1
用戶端程式庫
C++
詳情請參閱「Cloud Storage C++ API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
以下範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
以下範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為值區啟用物件版本管理功能:
下列範例會停用值區的物件版本管理功能:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
以下範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
以下範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為值區啟用物件版本管理功能:
下列範例會停用值區的物件版本管理功能:
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為值區啟用物件版本管理功能:
下列範例會停用值區的物件版本管理功能:
Rust
以下範例會為值區啟用物件版本管理功能:
以下範例會停用值區的物件版本管理功能:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立包含下列資訊的 JSON 檔案:
{ "versioning": { "enabled": STATE } }
其中 STATE 為
true或false。使用
cURL來透過PATCH值區要求呼叫 JSON API:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
其中:
JSON_FILE_NAME是您在步驟 2 建立的 JSON 檔案路徑。BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。
XML API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立包含下列資訊的 XML 檔案:
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
其中 STATE 為
Enabled或Suspended。使用
cURL呼叫 XML API,並提供PUTBucket 要求和versioning查詢字串參數:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
其中:
XML_FILE_NAME是您在步驟 2 建立的 XML 檔案路徑。BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。
檢查是否已啟用物件版本管理
如要檢查值區是否已啟用物件版本管理功能,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在值區清單中,每個值區的物件版本管理狀態會顯示在「Protection」(保護) 欄中。
啟用後,系統會顯示「物件版本管理」文字。
指令列
使用 gcloud storage buckets describe 指令搭配 --format 旗標:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(versioning_enabled)"
其中 BUCKET_NAME 是要查看狀態的 bucket 名稱。例如:my-bucket。
如果成功且已啟用物件版本管理,回應內容會與下列範例類似:
versioning: enabled: true
如果成功且未啟用物件版本管理功能,回應會與下列範例相似:
nullREST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL來透過GET值區要求呼叫 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
其中
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。
如果成功且已啟用物件版本管理,回應內容會與下列範例類似:
{ "versioning": { "enabled": true } }
如果成功且未啟用物件版本管理功能,回應會與下列範例相似:
{}XML API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 XML API,並提供GETBucket 要求和versioning查詢字串參數:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
其中
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。
如果成功且已啟用物件版本管理,回應內容會與下列範例類似:
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>如果成功且未啟用物件版本管理功能,回應會與下列範例類似:
<VersioningConfiguration/>
後續步驟
- 進一步瞭解物件版本管理。
- 瞭解如何使用非現行物件。
- 瞭解如何使用物件生命週期管理功能,自動管理物件版本。
- 瞭解如何使用要求前置條件,避免競爭狀況。