關於物件刪除

刪除不再需要的物件,有助於降低儲存費用、遵守資料保留規定,並保持 bucket 整潔。Cloud Storage 支援兩種主要物件刪除方法:

  • 單一物件刪除:刪除個別物件,以進行目標更新。
  • 大量刪除物件:同時刪除多個物件,或按照自動排程刪除。

針對每種刪除方法,Cloud Storage 提供各種工具,可手動、以程式輔助或透過自動化政策刪除物件。請查看這些刪除方法和可用工具,選擇最適合工作負載的做法。

如需刪除物件的逐步說明,請參閱「刪除物件」。

刪除單一物件

單一物件刪除功能可精準控管特定資料。如需立即對 bucket 資料執行特定更新,通常會刪除單一物件。單一物件刪除作業的常見用途包括:

  • 修正錯誤:移除您不慎上傳的物件,或含有錯誤資料的物件。

  • 清理:完成工作後,手動移除暫存物件或記錄。

  • 應用程式邏輯:在發生應用程式事件時自動移除物件,例如使用者刪除個人資料相片。

  • 安全性和法規遵循:刪除物件以移除機密資訊。

單一物件刪除工具

如要從 bucket 刪除單一物件,請使用下列任一工具。每項工具都會針對每個物件傳送個別的 DELETE 要求。

工具 說明
Google Cloud console 在 Google Cloud 控制台刪除個別物件。
Google Cloud CLI 使用 gcloud storage rm 指令刪除物件。
用戶端程式庫 使用支援的語言 (例如 C++、C#、Go、Java、Node.js、PHP、Python 或 Ruby),以程式輔助方式刪除物件。
REST API 使用 JSON API 或 XML API 刪除物件。

大量刪除物件

大量刪除物件功能專為大型資料集的高效率作業而設計。使用大量刪除功能管理儲存費用,並自動清理各個 bucket 的資料。大量刪除物件的常見用途包括:

  • 成本最佳化:移除作業不再需要的大型資料集,例如舊記錄或暫時建構構件。

  • 法規遵循自動化:在特定保留期限 (例如 30 天) 後刪除物件,自動強制執行資料保留政策。

  • 遷移或停用 bucket:遷移資料或關閉專案時,清除數百萬或數十億個物件。

  • 資料管道清理:在管道產生最終報表或資料集後,移除中繼處理物件。

大量刪除物件的工具

如要大量刪除物件,請使用下列任一工具。與個別要求相比,這些工具經過最佳化,可提高處理量並減少負擔。

工具 說明
Google Cloud console 以互動方式刪除最多一百萬個物件。提出刪除要求後,Cloud Storage 會在背景處理刪除作業。如要查看大量刪除作業的狀態,請點選 Google Cloud 控制台標題中的「通知」按鈕 ()。
Google Cloud CLI 使用 gcloud storage rm --recursive 指令,刪除共用相同前置字串的所有物件。這個指令適合透過指令列大量刪除中小型資料。
多個物件刪除 XML API

在單一 POST 要求中,以程式輔助方式刪除最多 1,000 個物件。多物件刪除 XML API 與 Amazon S3 API 互通。因此,您可以使用現有的 Amazon S3 工具、程式庫和工作流程,管理 Cloud Storage 中的物件。如果您要遷移資料或管理兩個平台上的資源,XML API 就非常實用。

使用 XML API 刪除多個物件時,Cloud Storage 會產生資料存取稽核記錄。如果啟用資料存取稽核記錄,這些記錄會包含整體要求和個別物件刪除作業的詳細資料。詳情請參閱「多物件刪除 XML API 的稽核記錄」。

多物件刪除 XML API 有下列限制:

  • 略過管理模式:與 Amazon S3 不同,Cloud Storage 不允許在刪除期間略過管理模式。在 Amazon S3 中,您可以指定 x-amz-bypass-governance-retention 標頭,刪除以管理模式鎖定的物件。Cloud Storage 會嚴格執行物件保留政策,確保資料不可變動。
  • 刪除標記:Cloud Storage 不支援 Amazon S3 刪除標記,因此無法刪除單一或多個物件。如要在 Cloud Storage 中還原非目前版本的物件,您必須使用 XML API PUT 要求,將特定版本複製到現有物件。
  • 條件式刪除作業:Cloud Storage 多物件刪除 XML API 不支援根據 ETag、Last-Modified 或 Size 進行條件式刪除。包含這些參數的要求會傳回 HTTP 400 Bad Request 狀態碼。如要在 Cloud Storage 中執行條件式作業,請使用 x-goog-if-generation-match 或 x-goog-if-metageneration-match 等標頭。
儲存空間批次作業

使用內建追蹤和重試功能的全代管服務,根據資訊清單檔案刪除最多數十億個物件。

您可以使用儲存空間批次作業執行下列工作:

  • 刪除數百萬或數十億個物件。
  • 內建追蹤、重試和錯誤處理機制,可提升可靠性。
  • 與編寫個別 API 呼叫的指令碼相比,可減少用戶端負擔。
物件生命週期管理 根據使用者定義的生命週期規則 (例如物件存在時間或儲存空間級別),自動刪除物件。如要大量刪除物件,請在 bucket 上設定物件生命週期管理規則。將條件 Age 設為 0 天,並將動作設為 Delete。設定規則後,Cloud Storage 會以非同步方式執行大量刪除作業。
批次 API 要求 使用支援的用戶端程式庫或 JSON API 時,系統會將多個刪除要求批次處理為單一 HTTP 要求。這種批次處理方式可減少用戶端連線的額外負擔和延遲時間。

選擇刪除方法

刪除物件的最佳方法和工具取決於物件數量和工作流程需求。請使用下列決策矩陣,根據用途選擇方法:

用途 刪除方法 建議工具
刪除個別物件或少量特定物件 刪除單一物件 Google Cloud 控制台、gcloud storage rm、用戶端程式庫或 REST API
在單一程式輔助要求中刪除最多 1,000 個物件 大量刪除物件 多物件刪除 XML API、Amazon S3 CLI 或 Amazon S3 相容用戶端程式庫 (例如 Boto3)
刪除共用相同前置字串的物件 大量刪除物件 gcloud storage rm --recursive
在瀏覽器中以互動方式刪除最多一百萬個物件 大量刪除物件 Google Cloud console
使用內建追蹤功能,以非同步方式刪除數百萬或數十億個物件 大量刪除物件 儲存空間批次作業
根據條件 (例如存在時間或儲存空間級別) 自動刪除物件 大量刪除物件 物件生命週期管理

後續步驟