本頁面說明如何從 Cloud Storage 的值區刪除物件。
必要的角色
如要取得刪除物件所需的權限,請要求管理員為您授予包含要刪除物件的值區的 Storage 物件使用者 (roles/storage.objectUser
) IAM 角色。
如果您打算使用 Google Cloud 控制台完成本頁面的工作,請管理員授予您 Storage 管理員 (roles/storage.admin
) 角色,而不是 Storage 物件使用者 (roles/storage.objectUser
) 角色,或是除了 Storage 物件使用者 (roles/storage.objectUser
) 角色之外,也授予您檢視者 (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 bucket 刪除物件,請按照以下指示操作:
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過DELETE
要求呼叫 JSON API:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
BUCKET_NAME
是包含要刪除物件的值區名稱。例如:my-bucket
。OBJECT_NAME
是要刪除的物件名稱 (經過網址編碼)。例如pets/dog.png
,網址編碼為pets%2Fdog.png
。
XML API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
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 控制台。提出這類刪除要求後,系統會在背景執行程序。如要查看批次刪除狀態,請在控制台標題中按一下「通知」按鈕 (notifications) Google Cloud 。
使用特定用戶端程式庫或直接使用 JSON API 時,您可以批次處理刪除要求,減少需要建立的 HTTP 連線數量。
後續步驟
- 瞭解物件版本管理功能。
- 瞭解物件生命週期管理功能。
- 瞭解如何刪除值區。