階層命名空間是 Cloud Storage 提供的一項功能,可讓您將物件整理至資料夾,並以邏輯檔案系統結構儲存資料,輕鬆簡化資料管理工作。階層命名空間提供高效能目錄語意和不可分割的資料夾作業,可加快資料密集型 AI/機器學習和數據分析工作負載。
本頁面概略介紹階層命名空間和用途,包括功能、優點和限制。
運作方式
如要在 bucket 中使用資料夾,您必須在建立 bucket 時啟用階層命名空間。bucket 建立後,階層式命名空間設定即無法變更。如要瞭解如何為 bucket 啟用階層命名空間,請參閱「建立及管理已啟用階層命名空間的 bucket」。
下圖範例顯示已啟用階層命名空間的 bucket,其中物件是以資料夾的階層結構整理。如果 bucket 啟用階層命名空間,則資料夾可同時包含物件和子資料夾。
功能與優點
階層命名空間提供下列功能和優點:
初始每秒查詢次數 (QPS) 較高:相較於未啟用階層命名空間的 bucket,啟用階層命名空間的 bucket 讀取和寫入物件的初始 QPS 上限最多可高出 8 倍。初始 QPS 越高,就越容易擴充資料密集型工作負載,並提高處理量。如要瞭解在已啟用階層命名空間的 bucket 中使用資料夾時,如何最佳化效能,請參閱「資料夾管理」。
可使用資料夾:資料夾可做為物件和子資料夾的容器,在 Cloud Storage bucket 中建立實際的目錄結構。將資料儲存在資料夾結構中,可提升效能、確保一致性,並簡化資料密集和檔案導向工作負載的管理作業。
資料夾作業提供可靠性和管理功能,包括建立、列出、刪除和不可分割的重新命名。
重新命名資料夾:重新命名資料夾作業可讓您以不可分割的方式,重新命名資料夾及其基礎資料夾的路徑,而不刪除任何物件。這項技術既有效率又省時,特別適合用於含有多個物件的大型資料夾。
列出資料夾:列出資料夾作業會列出 bucket 中或特定資料夾下的所有資料夾,協助您管理及瞭解儲存資料的結構。
何時該使用階層命名空間?
如果應用程式需要檔案系統階層和語意,建議啟用階層命名空間。階層命名空間適合用於數據分析和 AI/機器學習工作負載等資料密集型工作。在下列常見情境中,建議您考慮使用階層命名空間:
以 Hadoop 為基礎的處理:Hadoop 和 Spark 工作負載通常需要檔案系統儲存結構,以及檔案和資料夾的時間命名。階層命名空間與 Cloud Storage 連接器整合,可提高處理量並重新命名不可分割的資料夾,進而提升多個資料處理管道的資料完整性和一致性。
處理檔案導向的工作負載:批次分析處理、金融服務或高效能運算等工作負載,會根據資料夾和檔案的階層結構,劃分為不同的分區。階層命名空間可透過專屬的資料夾管理 API,協助管理這些環境。此外,階層命名空間可簡化資料夾管理作業,方便您管理內含其他資料夾和物件的資料夾。只要使用單一 API 指令,就能快速重新命名資料夾及其所有內容,節省寶貴的時間和資源。
AI/機器學習處理:TensorFlow、Pandas 和 PyTorch 等 AI/機器學習工具需要檔案系統存取控管和語意。階層命名空間可提高處理量,並提升資料存取效率,搭配 Cloud Storage FUSE 使用時效果更佳。因此,階層式命名空間可提升機器學習模型疊代的效能和可靠性。
為 bucket 啟用階層命名空間前,請先考量階層命名空間的限制。如要瞭解階層命名空間的限制,請參閱「限制」。
階層命名空間的優點
為 bucket 啟用階層命名空間後,您可以執行下列操作:
最佳化組織:您可以將資料整理成階層式資料夾結構,以便管理及尋找檔案或資料集。
建立檔案系統生態系統:階層命名空間導入了資料夾、資料夾重新命名和資料夾清單等檔案系統功能,有利於以檔案為導向的應用程式,包括 Hadoop 生態系統和 AI/機器學習工作負載。
提升效能:擴充資料密集型工作負載,以處理更高的處理量,進而提升應用程式的整體效能。
平台支援
採用階層命名空間的 bucket 支援下列 Cloud Storage 平台功能:
所有 Cloud Storage 物件 API 和廣泛使用的 Cloud Storage 功能。如要進一步瞭解不支援的功能,請參閱「限制」一節。
使用 Storage 移轉服務,將資料從標準 bucket 移轉至具有階層命名空間的 bucket。
與下列產品整合:
Cloud Storage 連接器,由 Managed Service for Apache Spark 維護,適用於 Hadoop 工作負載。詳情請參閱「針對 Hadoop 工作負載使用已啟用階層命名空間的 bucket」。
Cloud Storage FUSE:使用用戶端存取 bucket,就像存取檔案系統一樣。
GCSFS Python 程式庫:以 Python 方式存取 bucket,就像存取檔案系統一樣。GCSFS Python 程式庫 2026.3.0 以上版本支援階層命名空間。
與 Cloud Storage 作業和功能的相容性
啟用階層命名空間的 bucket 與 Cloud Storage 作業的互動方式,與未啟用階層命名空間的 bucket 不同。
與物件作業的互動
啟用階層命名空間的 bucket 會以下列方式處理物件作業:
- 只要您具備必要權限,
Upload、Rewrite和Compose等作業就會自動建立任何缺少的上層資料夾。因此,您不需要在上傳物件前預先建立資料夾。 - 雖然系統會在物件作業期間自動建立資料夾,但您必須使用
DeleteFolder作業明確刪除資料夾。 - 使用
ListObjects作業搭配delimiter參數時,bucket 會將每個子資料夾傳回為prefix.,但預設會排除空白資料夾。如要納入空白資料夾 (類似一般檔案系統清單),則必須設定includeFoldersAsPrefixes參數。如要瞭解在已啟用階層命名空間的 bucket 中列出物件時,如何最佳化效能,請參閱「列出物件」。
與 bucket 作業的互動
以下各節說明啟用階層命名空間時,系統如何處理 bucket 作業。
無論儲存空間版面配置為何,您都可以列出所有已啟用階層命名空間的 bucket。bucket 的儲存空間配置會說明物件在 bucket 中的排列方式,無論是在平面命名空間或階層命名空間中。如需查看 bucket 儲存空間配置的操作說明,請參閱「取得 bucket 的儲存空間配置」。如要列出所有 bucket,請按照「列出 bucket」中的詳細操作說明操作。
只要 bucket 是空的,您就可以刪除已啟用階層命名空間的 bucket。空值 bucket 不含任何物件或代管資料夾。空值區可以包含空資料夾 (不含任何物件)。
與物件生命週期管理作業的互動
物件生命週期管理可讓您根據條件 (例如存在時間或前置字串),自動對物件執行動作。不過,由於 RenameFolder 作業,物件生命週期管理規則在階層命名空間 bucket 和一般命名空間 bucket 中的運作方式可能不同:
針對採用單層命名空間的 bucket,設定物件生命週期管理規則:重新命名作業會使用工具,將每個物件複製到目的地位置,並從來源位置刪除原始物件,藉此重新命名每個物件。因此,系統會在目的地位置建立新物件,並設定新的建立時間。如果目的地位置套用了依據年齡層的物件生命週期管理規則,則不會立即套用至新物件,因為新物件的建立時間會重設。
為啟用階層命名空間的值區設定物件生命週期管理規則:重新命名資料夾時,系統會在資料夾層級執行操作,不必重新命名每個物件。因此,系統會保留物件的建立時間,也就是說,如果重新命名的物件符合年齡條件,系統會立即對其套用以年齡為依據的物件生命週期管理規則。
控管與代管資料夾相關聯的資料夾存取權
在 Cloud Storage 中,資料夾是存放資料的實際目錄,而「代管資料夾」則是獨立的專用資源,用於將 IAM 權限套用至目錄。如要控管資料夾及其資源的存取權,請建立相關聯的代管資料夾,並設定相關聯代管資料夾的 IAM 政策。相關聯的代管資料夾是指名稱和路徑與實際資料夾相同的代管資料夾。
相關聯的代管資料夾會做為資料夾建立的目錄的管理層,也就是說,資料夾與其相關聯的代管資料夾密不可分。舉例來說,如果刪除的資料夾有關聯的代管資料夾,該代管資料夾及其 IAM 政策也會一併刪除。如要進一步瞭解資料夾作業對相關聯代管資料夾的影響,請參閱「資料夾與相關聯代管資料夾之間的互動」。
與代管資料夾相關聯的資料夾命名方式
建立含有相關聯代管資料夾的資料夾時,資料夾命名規則和代管資料夾命名規則皆適用。資料夾名稱最多可有 50 層巢狀結構,但代管資料夾名稱最多只能有 15 層巢狀結構。採用 UTF-8 編碼時,代管資料夾名稱的大小上限為 512 個位元組。也就是說,如果您打算建立資料夾和相關聯的代管資料夾,該資料夾最多只能有 15 個堆疊子資料夾,且名稱大小上限為 512 個 UTF-8 編碼位元組。
定價
如需定價資訊,請參閱 Cloud Storage 定價。
限制
階層式命名空間的限制如下:
建立 bucket 時,您必須選擇是否要使用階層命名空間。bucket 建立後,就無法變更階層命名空間設定。
如要啟用階層命名空間,bucket 也必須啟用 統一 bucket 層級存取權。
在啟用階層命名空間的 bucket 中,物件名稱的大小上限為 1024 個位元組 (以 UTF-8 編碼),其中資料夾名稱區隔和基本名稱區隔的大小上限為 512 個位元組 (以 UTF-8 編碼)。在平面命名空間 bucket 中,物件名稱不含資料夾名稱區隔,且 UTF-8 編碼時上限為 1024 個位元組。如要進一步瞭解物件名稱限制,請參閱「關於物件」。
資料夾名稱最多可有 50 層巢狀結構 (如果資料夾有關聯的代管資料夾,則最多可有 15 層巢狀結構)。
使用階層命名空間的 bucket 不支援下列 Cloud Storage 功能:
- 值區鎖定功能
- 寫入作業停機時間內的 bucket 遷移
- 跨 bucket 複製
- 物件訴訟保留
- 物件層級存取控管清單 (ACL)
- 物件保留鎖定
- 物件版本管理
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage