本文說明如何為已啟用階層命名空間的 bucket 重新命名或移動資料夾。
本頁的說明僅適用於已啟用階層式命名空間的值區中的資料夾。在沒有階層式命名空間的 bucket 中,資料夾是從物件名稱前置字串模擬而來。如要重新命名或移動模擬資料夾,請參閱「重新命名或移動模擬資料夾」。
事前準備
確認 bucket 已啟用階層命名空間。如需在 bucket 上啟用階層命名空間的詳細操作說明,請參閱「建立已啟用階層命名空間的 bucket」。
必要的角色
如要取得在 bucket 中重新命名或移動資料夾所需的權限,請要求管理員授予 bucket 的「Storage 物件使用者」(roles/storage.objectUser) IAM 角色。
如需如何授予 bucket 角色的操作說明,請參閱「在 bucket 上設定及管理 IAM 政策」。
如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.folders.rename- 重新命名來源資料夾時,需要這項權限。
storage.folders.create- 您必須具備這項權限,才能在目的地路徑建立資料夾。 重新命名資料夾,以及將資料夾移至其他上層資料夾下方,都會在新的位置建立資料夾。
您也可以透過其他自訂角色或預先定義的角色取得上述權限。如要取得更寬鬆的權限,除了重新命名資料夾,還能管理資料夾,請要求管理員授予下列任一角色:
- Storage 資料夾管理員 (
roles/storage.folderAdmin) - Storage 物件管理員 (
roles/storage.objectAdmin) - 儲存空間管理員 (
roles/storage.admin)
如要瞭解哪些角色與哪些權限相關聯,請參閱「Cloud Storage 的 IAM 角色」。
重新命名或移動資料夾
在資料夾重新命名作業期間,您可以讀取及列出要重新命名的資料夾,但無法對這些資料夾執行寫入作業。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,按一下要移動或重新命名資料夾的 bucket 名稱。
在「Bucket details」(值區詳細資料) 頁面的「Folder browser」(資料夾瀏覽器) 面板中,找出要移動或重新命名的資料夾。
如要重新命名資料夾,請按照下列步驟操作:
按一下資料夾的「更多動作」選單。
按一下 [重新命名]。
輸入資料夾的新名稱。
按一下 [重新命名]。
如要將資料夾移至其他資料夾,請按照下列步驟操作:
按一下資料夾的「更多動作」選單。
按一下 [移動]。
在「目的地」欄位中,按一下「瀏覽」。
選取要移動資料夾的目標資料夾。
如要建立新資料夾做為目的地資料夾,請按一下「建立新資料夾」,然後輸入新資料夾的名稱。
按一下「選取」,然後按一下「移動」。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
指令列
如要重新命名或移動 bucket 內的資料夾 (使用階層命名空間),請執行 gcloud storage mv 指令:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
其中:
BUCKET_NAME是 bucket 的名稱,其中包含要重新命名或移動的資料夾。例如:my-bucket。FOLDER1是要重新命名或移動的原始資料夾名稱。例如:my-src-folder。FOLDER2是目的地資料夾的新名稱。例如,my-dest-folder。如果新名稱與現有資料夾相同,系統會將原始資料夾移至現有資料夾中,成為子資料夾。舉例來說,如果將my-dest-folder重新命名為my-dest-folder1(且my-dest-folder1已存在),結果會是my-dest-folder1/my-dest-folder/。如果所選的新名稱不存在,系統會將原始資料夾重新命名為新名稱。
回應類似下列範例:
Copying gs://my-bucket/my-src-folder to gs://my-bucket/my-dest-folder...
用戶端程式庫
C++
詳情請參閱「Cloud Storage C++ API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Rust
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 JSON API,並要求重新命名資料夾:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/SOURCE_PATH/renameTo/folders/DESTINATION_PATH"
其中:
BUCKET_NAME是 bucket 的名稱,其中包含要重新命名或移動的資料夾。例如:my-bucket。SOURCE_PATH是來源資料夾的網址編碼路徑。舉例來說,「my-src-folder/」以網址編碼形式表示為「my-src-folder%2F」。DESTINATION_PATH是經過網址編碼處理的目標資料夾路徑。舉例來說,「my-dest-folder/」以網址編碼形式表示為「my-dest-folder%2F」。
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage