本頁面說明如何在已啟用階層命名空間的 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 角色」。
重新命名或移動資料夾
在資料夾重新命名作業期間,您可以讀取及列出重新命名的資料夾,但無法對這些資料夾執行寫入作業。
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,按一下要移動或重新命名資料夾的 bucket 名稱。
在「Bucket details」(值區詳細資料) 頁面的「Folder browser」(資料夾瀏覽器) 面板中,找出要移動或重新命名的資料夾。
如要重新命名資料夾,請按照下列步驟操作:
按一下資料夾的「更多動作」選單。
按一下 [重新命名]。
輸入資料夾的新名稱。
按一下 [重新命名]。
如要將資料夾移至其他資料夾,請按照下列步驟操作:
按一下資料夾的「更多動作」選單。
按一下 [移動]。
在「目的地」欄位中,按一下「瀏覽」。
選取要移動資料夾的目標資料夾。
如要建立新資料夾做為目的地資料夾,請按一下 「Create new folder」(建立新資料夾),然後輸入新資料夾的名稱。
依序點選「選取」和「移動」。
如要瞭解如何在 Cloud de Confiance 控制台中取得 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 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱 Cloud Storage Go API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Rust
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 JSON API,並要求重新命名資料夾:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/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。