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