關於物件刪除

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

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

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

如需刪除物件的逐步操作說明,請參閱刪除物件

刪除單一物件

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

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

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

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

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

單一物件刪除工具

如要從值區刪除單一物件,請使用下列任一工具。每個工具會針對每個物件傳送個別的 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 天) 後刪除物件,自動強制執行資料保留政策。

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

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

大量刪除物件的工具

如要大量刪除物件,請使用下列任一工具。與個別要求相比,這些工具的處理量更高,且負擔較小。

工具 說明
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 不支援根據 ETagLast-ModifiedSize 進行有條件的刪除作業。如果要求包含這些參數,系統會傳回 HTTP 400 Bad Request 狀態碼。如要在 Cloud Storage 中執行條件式作業,請使用 x-goog-if-generation-matchx-goog-if-metageneration-match 等標頭。
Storage 批次作業

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

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

  • 刪除數百萬或數十億個物件。
  • 內建追蹤、重試和錯誤處理機制,可提升可靠性。
  • 與個別 API 呼叫的指令碼相比,可減少用戶端負擔。
物件生命週期管理 根據使用者定義的生命週期規則 (例如物件存在時間或儲存空間級別),自動刪除物件。如要大量刪除物件,請在值區中設定物件生命週期管理規則。將條件 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
使用內建追蹤功能,以非同步方式刪除數百萬或數十億個物件 大量刪除物件 Storage 批次作業
根據條件 (例如物件的建立時間或儲存空間級別) 自動刪除物件 大量刪除物件 物件生命週期管理

後續步驟