您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Cloud Resource Manager API,查看資料夾詳細資料、更新顯示名稱、移動資料夾,以及刪除不需要的資料夾。管理資料夾可讓您整理資源,並隨著專案和團隊的發展,維護 Google Cloud 資源階層。
列出資料夾及查看資料夾詳細資料
如要列出資料夾或查看特定資料夾的中繼資料 (例如顯示名稱、上層 ID 和生命週期狀態),您必須具備資料夾檢視者角色 (roles/resourcemanager.folderViewer) 或組織檢視者角色 (roles/resourcemanager.organizationViewer)。
控制台
在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。
資源清單會以表格形式顯示階層。選取組織資源。
按一下組織名稱旁的箭頭,展開樹狀檢視畫面,查看子資料夾。
如要執行移動、刪除或查看設定等動作,請按一下該特定資源列尾端的 「Actions」(動作)。
使用資源清單頂端的「Filter」(篩選器) 列,依名稱、ID 或標籤搜尋資源。
使用專案挑選器
專案挑選器位於導覽列,不屬於 Resource Manager 主頁面介面。您可以使用這個指令,將現行全域環境切換至特定專案或資料夾。
按一下專案挑選器。在顯示的對話方塊中,從下拉式選單選取貴組織,篩選結果。
瀏覽階層結構,或搜尋要切換的專案或資料夾。在這個挑選器中點選資源,會變更全域背景資訊,進而影響其他服務頁面 (例如 Compute Engine 或 Cloud Storage) 顯示的資源。
gcloud
如要取得單一資料夾的詳細資料,請使用 resource-manager folders describe 指令。
gcloud resource-manager folders describe FOLDER_ID
將 FOLDER_ID 替換為要查看的資料夾 ID。
如要列出組織資源的子資料夾,請使用 resource-manager folders list 指令。
gcloud resource-manager folders list \
--organization ORGANIZATION_ID
將 ORGANIZATION_ID 替換成要查看子資料夾清單的組織資源 ID。
如要列出資料夾資源的子資料夾,請使用 resource-manager folders list 指令。
gcloud resource-manager folders list \
--folder FOLDER_ID
將 FOLDER_ID 替換成要查看子資料夾清單的資料夾資源 ID。
如要列出組織或資料夾資源或資料夾下的專案,請使用 projects list 指令搭配 filter 引數。
gcloud projects list \
--filter=" parent.id: 'RESOURCE_ID' "
將 RESOURCE_ID 替換成要查看子專案清單的組織或資料夾資源 ID。
REST
取得資料夾的 curl 要求:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID
將 FOLDER_NAME 替換為資料夾名稱,例如 folders/123。
列出資料夾的 curl 要求:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/folders?parent=PARENT_NAME
將 PARENT_NAME 替換為您要在其下建立資料夾的上層資源名稱,例如 organizations/123 或 folders/123。
更新資料夾
如要更新資料夾的顯示名稱,您必須具備資料夾的資料夾編輯者角色 (roles/resourcemanager.folderEditor) 或資料夾管理員角色 (roles/resourcemanager.folderAdmin)。
控制台
在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。
按一下組織名稱旁的箭頭,展開樹狀檢視畫面,查看子資料夾。
在要更新的資料夾列中,按一下列尾的 「Actions」(動作) 選單,然後按一下「Settings」(設定)。
輸入新的資料夾名稱,然後按一下「儲存」。
gcloud
如要更新資料夾的顯示名稱,請按照下列步驟操作:
gcloud resource-manager folders update FOLDER_ID --display-name="NEW_DISPLAY_NAME"
更改下列內容:
FOLDER_ID:要更新的資料夾 ID。NEW_DISPLAY_NAME:資料夾的新顯示名稱。
REST
使用任何要求資料之前,請先修改下列項目的值:
- FOLDER_ID: Google Cloud 資料夾 ID
- NEW_DISPLAY_NAME:資料夾的新顯示名稱
HTTP 方法和網址:
PATCH https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName
JSON 要求內文:
{
"displayName": "NEW_DISPLAY_NAME"
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID?updateMask=displayName" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "operations/fc.1234567890abcdef",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
"displayName": "NEW_DISPLAY_NAME",
"operationType": "UPDATE",
"resourceName": "folders/FOLDER_ID"
},
"done": false
}
將資料夾移至其他資料夾
如要將資料夾移至其他資料夾,您必須具備來源和目的地資料夾的 resourcemanager.folders.move 權限。
控制台
將資料夾移至主控台其他資料夾的程序與移動專案相似。
- 在 Google Cloud 控制台中,開啟「管理資源」頁面。
- 從頁面左上方的「Organization」(組織) 下拉式選單中,選取組織資源。
- 在專案和資料夾清單中,按一下資料夾所在的列,選取資料夾。
- 按一下資料列中的選項選單 (垂直刪節號),然後點選「Move」(移動)。
- 按一下 [瀏覽],選取資料夾要移入的資料夾。
- 按一下 [移動]。
gcloud
如要移動組織資源下的資料夾,請在 Google Cloud CLI 中執行下列指令:
gcloud resource-manager folders move FOLDER_ID \ --organization=PARENT_ID
更改下列內容:
FOLDER_ID:要移動的資料夾 ID。PARENT_ID:上層組織資源的 ID。
如何移動其他資料夾下的資料夾:
gcloud resource-manager folders move FOLDER_ID \ --folder=PARENT_ID
更改下列內容:
FOLDER_ID:要移動的資料夾 ID。PARENT_ID:上層組織資源或資料夾的 ID。
REST
要求 JSON:
request_json= '{
destinationParent: "folders/DESTINATION_FOLDER_ID"
}'
「移動資料夾」curl 要求:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/DISPLAY_NAME:move
更改下列內容:
- DESTINATION_FOLDER_ID:要將另一個資料夾移至其下的資料夾 ID,例如
98765。 - DISPLAY_NAME:要移動的資料夾顯示名稱,例如「我的超棒資料夾」。
「移動資料夾」回應:
{
"name": "operations/fm.1234567890",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "MOVE"
}
}
「取得作業」curl 要求:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890
「取得作業」回應:
{
"name": "operations/fm.1234567890",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "MOVE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "folders/98765",
"displayName": "DISPLAY_NAME",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-20T00:54:44.295Z"
}
}
刪除資料夾
如要刪除資料夾,您必須具備該資料夾的「資料夾編輯者」角色 (roles/resourcemanager.folderEditor) 或「資料夾管理員」角色 (roles/resourcemanager.folderAdmin)。
控制台
在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。
前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。按一下組織名稱旁的箭頭,展開樹狀檢視畫面,查看子資料夾。
在要刪除的資料夾列中,按一下該列結尾的 「Actions」(動作) 選單,然後點選「Delete」(刪除)。
在確認對話方塊中,輸入資料夾 ID 或名稱進行確認,然後按一下「刪除」。
gcloud
如要刪除資料夾,請執行下列指令:
gcloud resource-manager folders delete FOLDER_ID
更改下列內容:
FOLDER_ID:要刪除的資料夾 ID。
REST
使用任何要求資料之前,請先修改下列項目的值:
- FOLDER_ID: Google Cloud 資料夾 ID
HTTP 方法和網址:
DELETE https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v3/folders/FOLDER_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "operations/fc.1234567890abcdef",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperationMetadata",
"operationType": "DELETE",
"resourceName": "folders/FOLDER_ID"
},
"done": false
}
其他資訊
刪除資料夾後,資料夾會進入虛刪除狀態,保留 30 天後才會永久刪除 (即硬刪除)。
虛刪除狀態:在 30 天保留期間,資料夾會標示為待刪除,且不再有效。您無法在虛刪除的資料夾中建立新專案或子資料夾。
永久刪除狀態:30 天後, Google Cloud 會永久移除資料夾及其中繼資料。這個動作無法復原。
取消刪除:如果不小心刪除資料夾,可以在 30 天內使用 gcloud resource-manager folders undelete 指令或 API 還原。
必要條件和限制
- 資料夾必須為空白:您無法刪除仍含有使用中專案或子資料夾的資料夾。請先移動或刪除所有子資源。
- 必要權限:如要刪除或取消刪除資料夾,您必須具備資料夾編輯者 (
roles/resourcemanager.folderEditor) 或資料夾管理員 (roles/resourcemanager.folderAdmin) 角色。
搜尋
如要搜尋符合指定查詢的資料夾,請使用 gcloud alpha resource-manager
folders search,並在 --query 旗標中傳遞條件。搜尋範圍為使用者具備檢視權限的所有資料夾。
gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>
gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>
使用 gcloud folders search 指令,即可顯示使用者具備檢視權限的所有資料夾。
gcloud folders search
<table output showing all viewable folders>