本頁說明如何從 Cloud Storage 的值區刪除物件。
必要的角色
如要取得刪除物件所需的權限,請要求管理員授予您「Storage 物件使用者」(roles/storage.objectUser) IAM 角色,以便存取要刪除物件所屬的 bucket。
如果您打算使用 Google Cloud 控制台完成本頁面的工作,請管理員授予您 Storage 管理員 (roles/storage.admin) 角色,而不是 Storage 物件使用者 (roles/storage.objectUser) 角色,或是除了 Storage 物件使用者 (roles/storage.objectUser) 角色之外,也授予您檢視者 (roles/viewer) 基本角色。
這些角色具備刪除物件所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.objects.deletestorage.objects.list- 只有在使用 Google Cloud 控制台,或在 Google Cloud CLI 中使用
--recursive標記或萬用字元時,才需要這項權限。
- 只有在使用 Google Cloud 控制台,或在 Google Cloud CLI 中使用
storage.buckets.list- 只有在使用 Google Cloud 控制台執行本頁的操作說明時,才需要這項權限。
如要瞭解如何授予值區角色,請參閱「設定及管理值區的 IAM 政策」。
刪除物件
如要從一個 Cloud Storage bucket 刪除物件,請按照以下指示操作:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選含有要刪除物件的 bucket 名稱。
系統會開啟「Bucket details」(值區詳細資料) 頁面,並選取「Objects」(物件) 分頁標籤。
前往該物件 (可能位於資料夾中)。
找出要刪除的每個物件,然後勾選對應的核取方塊。
您也可以按一下資料夾旁的核取方塊,刪除該資料夾中的所有物件。
按一下 [Delete] (刪除) 按鈕。
在隨即出現的對話方塊中按一下 [Delete] (刪除)。
如果一次刪除大量物件,可以點選 Google Cloud 控制台中的「通知」圖示,追蹤刪除進度。Google Cloud 控制台可大量刪除最多數百萬個物件,且會在背景執行作業。
如要瞭解如何透過 Google Cloud 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
指令列
使用 Google Cloud CLI 指令 gcloud storage rm:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
其中:
BUCKET_NAME是包含要刪除物件的值區名稱。例如:my-bucket。OBJECT_NAME是要刪除的物件名稱。例如:pets/dog.png。
如果成功,回應會類似以下範例:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/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
XML API
使用
cURL透過DELETE Object要求呼叫 XML API:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
其中:
BUCKET_NAME是包含要刪除物件的值區名稱。例如:my-bucket。OBJECT_NAME是要刪除的物件名稱,並經過網址編碼。例如pets/dog.png,網址編碼為pets%2Fdog.png。
大量刪除物件
如要大量刪除十萬個以上的物件,請避免使用 gcloud storage,因為這個程序需要很長時間才能完成。請改用下列任一選項:
物件生命週期管理功能可以刪除任意數量的物件。 如要使用這項功能大量刪除值區中的物件,請在值區中設定生命週期設定規則,將條件設為
Age0 天,並將動作設為delete。設定規則後,Cloud Storage 會以非同步方式執行大量刪除作業。刪除最多一百萬個物件時,建議使用 Google Cloud 控制台。提出這類刪除要求後,系統會在背景執行程序。如要查看批次刪除狀態,請在 Google Cloud 控制台標題中按一下「通知」按鈕 (notifications)。
使用特定用戶端程式庫或直接使用 JSON API 時,您可以批次處理刪除要求,減少需要建立的 HTTP 連線數量。
後續步驟
- 瞭解物件版本管理功能。
- 瞭解物件生命週期管理功能。
- 瞭解如何刪除值區。