關於物件刪除

刪除不再需要的物件有助於降低儲存費用、遵守資料保留規定,以及整理 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 和 XML REST API 刪除物件。

大量刪除物件

大量刪除方法適用於大型資料集的高效率作業。使用大量刪除功能管理儲存空間費用,並自動執行 bucket 中的資料保健。以下是刪除多個物件的常見原因:

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

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

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

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

可大量刪除物件的工具

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

工具 說明
使用 XML API 刪除多個物件

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

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

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

  • 控管模式略過:Cloud Storage 不支援在刪除期間略過控管模式。Amazon S3 則允許指定 x-amz-bypass-governance-retention 標頭,刪除控管類型鎖定的物件。Cloud Storage 會強制執行物件保留政策,確保資料不可變動。
  • 刪除標記:Cloud Storage 不支援 Amazon S3 刪除標記,無論是單一或多個物件刪除作業皆不適用。如要在 Cloud Storage 中還原非目前物件,必須使用 PUT 要求,將所需版本複製到使用中物件。
  • 有條件刪除:Cloud Storage 多重物件刪除 API 不支援根據 ETagLast-ModifiedSize 進行有條件刪除。如果要求包含這些參數,就會導致 400 錯誤。如要在 Cloud Storage 中執行條件式作業,請使用 x-goog-if-generation-matchx-goog-if-metageneration-match 等標頭。
Google Cloud console 刪除最多一百萬個物件時,建議使用 Google Cloud 控制台。提出刪除要求後,系統會在背景執行程序。如要查看批次刪除狀態,請按一下 Google Cloud 控制台標題中的「通知」按鈕 ()。
Storage 批次作業

這項全代管服務會根據資訊清單檔案執行刪除作業。適合刪除多達數十億個物件,並內建追蹤和重試功能。

如要執行下列操作,建議使用儲存空間批次作業:

  • 刪除數百萬或數十億個物件。
  • 內建追蹤、重試和錯誤處理機制,可提升可靠性。
  • 與個別 API 呼叫的指令碼相比,可減少用戶端負擔。
gcloud storage rm --recursive Google Cloud CLI 指令,可刪除共用相同前置字串的所有物件。適合使用 CLI 執行中小型規模的批次作業。
物件生命週期管理 這項伺服器端功能會根據您定義的規則 (例如物件保留期限或儲存空間級別),自動刪除物件。如要大量刪除值區中的物件,請在值區中設定生命週期設定規則,將條件設為 0 天,並將動作設為 deleteAge設定規則後,Cloud Storage 會以非同步方式執行大量刪除作業
批次要求 使用特定用戶端程式庫或直接使用 JSON API 時,您可以批次處理刪除要求,減少所需的 HTTP 連線數量。

選擇刪除方法

刪除物件的工具取決於要刪除的物件數量和原因。請參考下列指南,根據您的用途選擇方法:

  • 如要刪除一或少數特定物件,請使用Google Cloud 控制台gcloud storage rm,或透過用戶端程式庫或 REST API 發出單一 API 呼叫。詳情請參閱「刪除單一物件」。
  • 如要在單一 API 要求中刪除最多 1,000 個物件,請使用多物件刪除 XML API、Amazon S3 CLI,或與 S3 相容的用戶端程式庫 (例如 Boto3)。詳情請參閱「大量刪除物件」。
  • 如要刪除多個共用名稱前置字串的物件,請使用 gcloud storage rm --recursive 指令。詳情請參閱「使用 Google Cloud CLI 大量刪除物件」。
  • 如需刪除數百萬或數十億個物件,請使用 Storage 批次作業,確保大規模刪除作業順利完成。
  • 如需在物件符合特定條件時自動刪除,請使用物件生命週期管理

後續步驟