本指南說明如何建立、列出及刪除受管理資料夾。
事前準備
如要建立及管理代管資料夾,您必須先啟用統一的值區層級存取權,並取得必要的 IAM 角色。
啟用統一值區層級存取權
如果尚未啟用統一值區層級存取權,請先完成這項作業。
取得必要角色
如要取得建立及管理代管資料夾所需的權限,請要求管理員為您授予 bucket 的Storage 資料夾管理員 (roles/storage.folderAdmin
) 身分與存取權管理角色。
這個預先定義的角色具備建立及管理受管理資料夾所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立及管理代管資料夾,必須具備下列權限:
-
如何建立受管理的資料夾:
storage.managedFolders.create
-
如要列出新建立的代管資料夾,藉此驗證這些資料夾:
storage.objects.list
-
如要列出代管資料夾:
storage.managedFolders.list
-
如何取得代管資料夾:
storage.managedFolders.get
-
如何移動代管資料夾:
-
storage.managedFolders.delete
(來源 bucket) -
storage.managedFolders.create
(在目的地值區上)
-
-
如要刪除代管資料夾:
storage.managedFolders.delete
如要瞭解如何授予值區角色,請參閱「搭配值區使用 IAM」。
建立受管理的資料夾
控制台
使用 Google Cloud 控制台時,您可以對資料夾或模擬資料夾啟用管理功能,藉此建立受管理資料夾。下列步驟說明如何建立資料夾或模擬資料夾,然後啟用資料夾管理功能:
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,按一下要建立受管理資料夾的值區名稱。
在「Bucket details」(值區詳細資料) 頁面中,按一下「Create folder」(建立資料夾) 建立新資料夾。如果要轉換為受管理資料夾的資料夾已存在,請跳至說明如何存取「更多選項」
選單的步驟。在「Name」(名稱) 欄位中,輸入資料夾名稱。如需命名注意事項,請參閱「受管理資料夾名稱」。
點選「建立」。
新建立的資料夾會顯示在「資料夾瀏覽器」窗格中。
在「資料夾瀏覽器」窗格中,按一下要轉換為受管理資料夾的資料夾旁邊的「更多選項」
選單,然後按一下「編輯存取權」。系統會顯示「要啟用資料夾管理機制嗎?」對話方塊。
按一下「啟用」。
資料夾會轉換為受管理資料夾。「資料夾」窗格會顯示資料夾的 IAM 政策,並依主體和角色列出。
MANAGED_FOLDER_NAME
如要建立新的 IAM 政策,請參閱「在受管理資料夾上設定 IAM 政策」。
指令列
如要建立受管理資料夾,請執行 gcloud storage managed-folders create
指令:
gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME
其中:
BUCKET_NAME
是您要建立受管理資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是要建立的受管理資料夾名稱。例如:my-managed-folder/
。
如要確認受管理資料夾是否已建立,請執行 gcloud storage managed-folders describe
指令:
gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME
其中:
BUCKET_NAME
是您建立受管理資料夾的值區名稱。MANAGED_FOLDER_NAME
是您建立的受管理資料夾名稱。
用戶端程式庫
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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過POST
ManagedFolder 要求呼叫 JSON API:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{ "name": "MANAGED_FOLDER_NAME" }' \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
其中:
BUCKET_NAME
是您要建立受管理資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是您要建立的受管理資料夾名稱。例如:my-managed-folder/
。
列出代管資料夾
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在「資料夾瀏覽器」窗格中,使用「切換節點」
展開值區中的資料夾清單。
清單會顯示 bucket 中的資料夾、模擬資料夾和受管理資料夾。
指令列
如要列出受管理資料夾,請執行 gcloud storage managed-folders list
指令:
gcloud storage managed-folders list gs://BUCKET_NAME
其中:
BUCKET_NAME
是包含您要列出代管資料夾的值區名稱。例如:my-bucket
。
請注意,您也可以指定資料夾路徑,而非值區名稱。 例如:
gcloud storage managed-folders list gs://my-bucket/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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過要求列出受管理資料夾,呼叫 JSON API:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"
其中
BUCKET_NAME
是包含您要列出代管資料夾的值區名稱。例如:my-bucket
。
取得代管資料夾的中繼資料
指令列
如要取得受管理資料夾的中繼資料,請執行 gcloud storage managed-folders describe
指令:
gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME
其中:
BUCKET_NAME
是包含您要列出代管資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是要擷取中繼資料的受管理資料夾名稱。
用戶端程式庫
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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過要求取得受管理資料夾,呼叫 JSON API:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"
其中:
BUCKET_NAME
是包含要取得的受管理資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是以路徑表示的受管理資料夾名稱。例如:example-dir/
。如果代管資料夾是巢狀結構,代管資料夾路徑中的斜線 (/
) 字元必須逸出。例如:example-dir1%2Fexample-dir2
。
移動代管資料夾
控制台
在目標值區中建立新的代管資料夾。
將物件從來源值區的原始代管資料夾複製到目的地值區的新代管資料夾。
從來源 bucket 刪除原始受管理資料夾。
指令列
如要移動代管資料夾和其中的物件,請執行 gcloud storage mv
指令,並使用 --include-managed-folders
選項:
gcloud storage mv --include-managed-folders gs://SOURCE_BUCKET_NAME/MANAGED_FOLDER_NAME gs://DESTINATION_BUCKET_NAME/MANAGED_FOLDER_NAME
其中:
SOURCE_BUCKET
是原始值區的名稱。例如:my-source-bucket
`。DESTINATION_BUCKET
是您要將受管理資料夾移至的值區名稱。例如:my-destination-bucket
。MANAGED_FOLDER_NAME
是您要移動的受管理資料夾名稱。例如:my-managed-folder/
。
REST API
JSON API
如要將受管理資料夾從一個值區移至另一個值區,請完成下列步驟:
在目標值區中建立新的代管資料夾。
從來源 bucket 中原始代管資料夾複製 IAM 政策,然後貼到目的地 bucket 中的新代管資料夾。
將物件從來源值區的原始代管資料夾複製到目的地值區的新代管資料夾。
從來源 bucket 刪除原始受管理資料夾。
刪除代管資料夾
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,按一下包含要刪除受管理資料夾的值區名稱。
前往「Bucket details」(值區詳細資料) 頁面,找出要刪除的受管理資料夾,然後按一下旁邊的「More options」(更多選項) 圖示
。按一下「刪除資料夾」。
如要確認刪除受管理資料夾,請在「刪除」欄位中輸入
DELETE
。點選「刪除」。
系統會從 Cloud Storage bucket 刪除受管理資料夾及其內容,包括儲存的物件和其他受管理資料夾。
指令列
如要刪除代管資料夾和其中的物件,請執行 gcloud storage rm
指令:
gcloud storage rm -r gs://BUCKET_NAME/MANAGED_FOLDER_NAME
其中:
BUCKET_NAME
是包含要刪除之受管理資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是要刪除的受管理資料夾名稱。例如:my-managed-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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
如要刪除代管資料夾,請先刪除代管資料夾中的物件。
安裝並初始化 gcloud CLI,以便為
Authorization
標頭產生存取權杖。使用
cURL
透過DELETE
ManagedFolder 要求呼叫 JSON API:curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"
其中:
BUCKET_NAME
是包含要刪除之受管理資料夾的值區名稱。例如:my-bucket
。MANAGED_FOLDER_NAME
是要刪除的受管理資料夾名稱。例如:my-managed-folder/
。
根據預設,受管理資料夾必須為空才能刪除。如要刪除非空白的受管理資料夾,請在要求中加入
allowNonEmpty=true
做為查詢參數。
疑難排解
如需建立及管理代管資料夾的相關說明,請參閱「疑難排解頁面」。