本頁面提供已啟用階層式命名空間的 bucket 中資料夾的相關資訊。
總覽
啟用階層式命名空間後建立 bucket 時,bucket 會使用真正的檔案系統結構,而非標準的扁平命名空間。啟用階層命名空間後,資料夾會以資源形式存在於 bucket 中。 使用資料夾可更有效率地整理物件,並存取真正的目錄功能,例如重新命名不可分割的資料夾,以及執行有效率的中繼資料作業。
啟用階層命名空間的 bucket 中的資料夾,與模擬資料夾和受管理資料夾不同。模擬資料夾存在於平面命名空間 bucket 中,而管理資料夾則可套用至平面命名空間 bucket 和啟用階層命名空間的 bucket。代管資料夾主要用於授予物件群組 IAM 權限。如要進一步瞭解其他資料夾類型,請參閱「資料夾類型」。
您可以執行資料夾作業來管理資料夾。 如要瞭解如何建立、列出及刪除資料夾,以及取得資料夾中繼資料,請參閱「建立及管理資料夾」。如要瞭解如何重新命名或移動資料夾,請參閱「重新命名資料夾」。
資料夾中繼資料
資料夾的中繼資料包含資料夾的結構化資訊。如要詳細瞭解資料夾中繼資料,請參閱 Cloud Storage JSON API 參考文件中的 Folder 資源。
資料夾中繼資料的主要元件如下:
bucket:資料夾所在的 bucket 名稱。例如:my-bucket。id:bucket 中資料夾的專屬 ID。例如:hns-bucket/dir1/。kind:資源類型。如果是資料夾,這個值一律為storage#folder。name:資料夾名稱。例如:dir1/。selfLink:參照 Cloud Storage API 中資料夾的網址。timeCreated:資料夾的建立時間戳記。例如:2023-05-05T16:32:08.878000+00:00。updated:資料夾上次更新的時間戳記。例如:2024-05-06T16:32:08.878000+00:00。
資料夾作業
本節說明可對資料夾執行的作業。部分作業會啟動長時間執行的作業,您可以監控這類作業,追蹤作業進度和狀態。
建立資料夾
您可以使用資料夾建立作業明確建立資料夾。
此外,如果您建立物件並在路徑中指定不存在的資料夾,系統會自動為您建立缺少的上層資料夾。舉例來說,如果名為 dir1/foo.txt 的物件不存在,系統會自動建立 dir1/ 資料夾。
如要瞭解資料夾命名方式,請參閱「注意事項」。
列出資料夾
您可以使用列出資料夾作業,擷取 bucket 中的資料夾清單。由於資料夾是啟用階層式命名空間的 bucket 中的不同資源,這項作業會評估真正的資料夾結構,而不是從物件路徑模擬資料夾。
列出資料夾時,您可以使用 prefix、delimiter、lexicographicStart 和 lexicographicEnd 等參數篩選結果。舉例來說,將分隔符號參數設為 /,即可在類似目錄的模式中列出資料夾,只傳回符合前置字元或位於下一層的資料夾。
列出資料夾作業會傳回分頁結果。單一回應頁面最多可包含 1,000 個資料夾。
取得資料夾的中繼資料
您可以使用「取得資料夾中繼資料」作業,擷取資料夾的屬性。這項作業會擷取資料夾資源本身的資訊,而非資料夾內含的物件。
這項作業會傳回資料夾的中繼資料,提供結構化資訊,例如建立時間戳記、專屬 ID 和所在儲存空間。如需這項作業傳回的屬性詳細清單,請參閱「資料夾中繼資料」。
重新命名或移動資料夾
重新命名資料夾和移動資料夾使用相同的基礎作業。這項作業是僅限中繼資料的不可分割變更,可更新資料夾路徑,但不會實際複製或刪除基礎物件。重新命名資料夾時,系統也會更新資料夾中資源的路徑,例如子資料夾、物件和代管資料夾。這樣一來,作業速度會很快,而且不會產生物件複製費用。
資料夾重新命名作業會啟動長時間執行的作業。
在資料夾重新命名作業期間,您可以讀取及列出要重新命名的資料夾,但無法對這些資料夾執行寫入作業。
在 JSON API 和 Google Cloud CLI 中,重新命名和移動作業使用相同的網址端點或指令。在 Google Cloud 控制台中,「重新命名資料夾」和「移動資料夾」會顯示為兩個不同的選項,但這兩個選項執行的後端作業相同。
刪除資料夾
您可以使用刪除資料夾作業永久刪除資料夾。 雖然在物件作業期間可以自動建立資料夾,但資料夾變空時不會自動移除。您必須明確地刪除這些模型。
資料夾與相關聯受管理資料夾之間的互動
相關聯的代管資料夾可用於控管已啟用階層命名空間的 bucket 中資料夾的存取權。資料夾和相關聯的代管資料夾互動方式如下:
建立資料夾:在啟用階層式命名空間的 bucket 中建立受管理資料夾時,系統會自動建立路徑中任何缺少的資料夾,包括上層資料夾和實際目標資料夾 (也稱為「關聯資料夾」)。
舉例來說,假設您建立名為
my-bucket的 bucket,並啟用階層式命名空間。如果在值區中建立名為2025/training-data/的受管理資料夾,Cloud Storage 會自動在值區中建立上層資料夾2025/和目標關聯資料夾training-data/。刪除資料夾:如果刪除的資料夾有相關聯的代管資料夾,Cloud Storage 也會一併刪除。這是因為刪除資料夾時,您會一併刪除整個路徑。由於路徑已不存在,系統會刪除相關聯的受管理資料夾,以及附加至該資料夾的所有 IAM 政策。在啟用階層式命名空間的 bucket 中,受管理資料夾必須有相關聯的資料夾。
如果沒有刪除資料夾相關聯受管理資料夾的必要權限,資料夾刪除作業就會失敗。如要瞭解刪除代管資料夾所需的權限,請參閱「取得代管資料夾的必要角色」。
資料夾重新命名:重新命名與代管資料夾相關聯的資料夾時,Cloud Storage 也會重新命名相關聯的代管資料夾。
如要瞭解與受管理資料夾相關聯的資料夾命名規定,請參閱「資料夾命名規定」。
注意事項
建立資料夾時,請注意下列事項:
物件和資料夾名稱:啟用階層式命名空間的 bucket 支援所有有效的物件名稱,包括開頭、結尾或連續出現斜線 (
/) 的名稱。物件名稱中的每個正斜線 (/) 都代表一個資料夾。下表列出物件名稱與資料夾階層中對應位置的關係範例:物件名稱 資料夾階層中的位置 foo.txt每個 bucket 都包含根資料夾。物件 foo.txt位於值區的根資料夾下。dir1/foo.txt物件 foo.txt位於名為dir1/的頂層資料夾中。頂層資料夾與根資料夾不同。dir1/物件名稱結尾的斜線 (例如 dir1/) 表示物件位於資料夾內。在本例中,物件名稱dir1/與父項資料夾名稱dir1/相同。dir1//foo.txt物件 foo.txt位於名為dir1//的第二層資料夾中,這是dir1/的子資料夾。資料夾深度上限:啟用階層命名空間的 bucket 最多支援 50 個資料夾深度。資料夾最多可建立 50 個堆疊的子資料夾 (例如
folder1/folder2/folder3/.../folder50/my-data.txt)。不過,如果資料夾有相關聯的代管資料夾,最多只能有 15 個堆疊的子資料夾。資料夾名稱大小上限:512 個位元組 (UTF-8 編碼)。
私密或個人識別資訊 (PII):資料夾名稱的曝光範圍比資料夾中繼資料更廣。舉例來說,資料夾名稱會顯示在網址中,以及列出值區中的資料夾或物件時。請勿在資料夾名稱中加入機密資訊或 PII。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage