本頁面說明如何從 Cloud Storage 的值區刪除物件。
必要的角色
如要取得刪除物件所需的權限,請要求管理員為您授予儲存空間物件使用者 (roles/storage.objectUser
) IAM 角色,適用於包含您要刪除物件的值區。
如果您打算使用 Google Cloud 控制台完成本頁面的任務,請請管理員授予您 Storage 管理員 (roles/storage.admin
) 角色,而非 Storage 物件使用者 (roles/storage.objectUser
) 角色,或是除了 Storage 物件使用者 (roles/storage.objectUser
) 角色之外,還授予 Viewer (roles/viewer
) 基本角色。
這些角色包含刪除物件所需的權限。如要查看所需的確切權限,請展開「必要權限」部分:
所需權限
storage.objects.delete
storage.objects.list
- 只有在使用 Google Cloud 主控台,或在 Google Cloud CLI 中使用
--recursive
標記或萬用字元時,才需要這項權限。
- 只有在使用 Google Cloud 主控台,或在 Google Cloud CLI 中使用
storage.buckets.list
- 只有在使用 Google Cloud 控制台執行本頁操作說明時,才需要這項權限。
如要進一步瞭解如何授予值區角色,請參閱「在值區中使用 IAM」。
刪除物件
如要從一個 Cloud Storage 值區刪除物件,請完成下列步驟:
控制台
- 在 Google Cloud 控制台,前往 Cloud Storage「Buckets」頁面。
在值區清單中,按一下包含要刪除物件的值區名稱。
「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,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
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
,因為這項程序需要很長的時間才能完成。請改用下列任一做法:
物件生命週期管理功能可刪除任意數量的物件。如要使用這項功能大量刪除值區中的物件,請在值區上設定生命週期設定規則,其中條件中的
Age
設為 0 天,而動作設為delete
。設定規則後,Cloud Storage 會以非同步方式執行大量刪除作業。刪除最多一百萬個物件時,建議您使用 Google Cloud 主控台。提出這類刪除要求後,系統會在背景執行這項作業。如要查看批次刪除作業的狀態,請按一下 Google Cloud 主控台標題中的「通知」按鈕 (notifications)。
使用特定用戶端程式庫或直接使用 JSON API 時,您可以批次刪除要求,以減少需要建立的 HTTP 連線數量。
後續步驟
- 瞭解物件版本管理功能。
- 瞭解物件生命週期管理功能。
- 瞭解如何刪除儲存桶。