本頁面說明已啟用階層命名空間的值區中的資料夾。
總覽
建立 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 等參數篩選結果。舉例來說,如果將分隔符號參數設為 /,就能以類似目錄的模式列出資料夾,只傳回符合前置字串或存在於前置字串下一層的資料夾。
列出資料夾作業會傳回分頁結果。單一回覆頁面最多可包含 1000 個資料夾。
取得資料夾的中繼資料
您可以使用「get folder metadata」作業擷取資料夾屬性。這項作業會擷取資料夾資源本身的資訊,而非其中包含的物件。
這項作業會傳回資料夾的中繼資料,提供結構化資訊,例如建立時間戳記、專屬 ID 和所在儲存空間。如需這項作業傳回的屬性詳細清單,請參閱「資料夾中繼資料」。
重新命名或移動資料夾
重新命名資料夾和移動資料夾使用相同的基礎作業。這項作業是僅限中繼資料的原子變更,可更新資料夾路徑,而不會實際複製或刪除基礎物件。重新命名資料夾時,系統也會更新資料夾內資源 (例如子資料夾、物件和代管資料夾) 的資料夾路徑。這項操作可快速完成,並避免物件複製費用。
資料夾重新命名作業會啟動長時間執行的作業。
在資料夾重新命名作業期間,您可以讀取及列出重新命名的資料夾,但無法對這些資料夾執行寫入作業。
在 JSON API 和 Google Cloud CLI 中,重新命名和移動作業使用相同的網址端點或指令。在 Google Cloud 控制台中,「Rename folder」(重新命名資料夾) 和「Move folder」(移動資料夾) 是兩個不同的選項,但兩者執行的後端作業相同。
刪除資料夾
您可以使用刪除資料夾作業永久刪除資料夾。 雖然系統會在物件作業期間自動建立資料夾,但資料夾清空時不會自動移除。您必須明確刪除這些資源。
資料夾與相關聯代管資料夾之間的互動
相關聯的代管資料夾可用於控管已啟用階層命名空間的 bucket 中資料夾的存取權。資料夾和相關聯的代管資料夾會以下列方式互動:
建立資料夾:在已啟用階層命名空間的 bucket 中建立代管資料夾時,系統會自動建立路徑中缺少的任何資料夾,包括上層資料夾和實際目標資料夾 (也稱為關聯資料夾)。
舉例來說,假設您建立一個已啟用階層命名空間的 bucket,名為
my-bucket。如果您在 bucket 中建立名為2025/training-data/的受管理資料夾,Cloud Storage 會自動在 bucket 中建立上層資料夾2025/和目標關聯資料夾training-data/。刪除資料夾:刪除具有相關聯代管資料夾的資料夾時,Cloud Storage 也會刪除相關聯的代管資料夾。這是因為刪除資料夾時,您會完全刪除路徑。由於路徑已不存在,相關聯的代管資料夾和任何附加的 IAM 政策都會刪除。在啟用階層命名空間的 bucket 中,代管資料夾必須有相關聯的資料夾。
如果沒有刪除資料夾相關聯受管理資料夾的必要權限,資料夾刪除作業就會失敗。如要瞭解刪除代管資料夾所需的權限,請參閱「取得代管資料夾的必要角色」。
重新命名資料夾:如果重新命名與受管理資料夾相關聯的資料夾,Cloud Storage 也會重新命名相關聯的受管理資料夾。
如要瞭解與受管理資料夾相關聯的資料夾命名規定,請參閱「資料夾命名」。
注意事項
建立資料夾時,請考量下列事項:
物件和資料夾名稱:啟用階層命名空間的 bucket 支援所有有效的物件名稱,包括開頭、結尾為斜線 (
/) 或連續斜線的名稱。物件名稱中的每個正斜線 (/) 都代表一個資料夾。下表列出物件名稱與其在資料夾階層中對應位置的關係範例:物件名稱 資料夾階層中的位置 foo.txt每個值區都包含根資料夾。物件 foo.txt位於 bucket 的根資料夾。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):資料夾名稱的能見度比資料夾中繼資料更廣。舉例來說,資料夾名稱會顯示在網址中,以及列出 bucket 中的資料夾或物件時。請勿在資料夾名稱中加入機密資訊或 PII。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage