查看、更新及刪除資料夾

本頁說明如何使用 Google Cloud 控制台、Google Cloud CLI 或 API 查看資料夾詳細資料、更新資料夾設定及刪除資料夾。瞭解如何修改資料夾顯示名稱,以及管理機構階層中的資料夾位置。

列出資料夾並查看資料夾詳細資料

如要列出資料夾,或查看特定資料夾的中繼資料 (例如顯示名稱、上層 ID 和生命週期狀態),您必須擁有資料夾檢視者角色 (roles/resourcemanager.folderViewer) 或機構檢視者角色 (roles/resourcemanager.organizationViewer)。

控制台

  1. 在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 資源清單會以表格形式顯示階層。選取機構資源。

  3. 按一下機構名稱旁的箭頭,展開樹狀檢視畫面,即可查看子資料夾。

  4. 如要執行動作 (例如移動、刪除或查看設定),請按一下該特定資源列尾端的「動作」

  5. 使用資源清單頂端的「篩選」列,依名稱、ID 或標籤搜尋資源。

使用專案選取器

使用頂端導覽列的專案選擇工具,將有效環境切換至特定專案或資料夾。

  1. 在 Google Cloud 控制台的頂端導覽列中,按一下專案挑選器。這個下拉式選單位於 Google Cloud 標誌旁。

  2. 在隨即顯示的對話方塊中,從下拉式選單選取機構,篩選結果。

  3. 瀏覽階層或搜尋要切換的專案或資料夾。 點選這個挑選器中的資源會變更全域環境,進而影響其他服務頁面 (例如 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/123folders/123

更新資料夾

如要更新資料夾的顯示名稱,您必須擁有該資料夾的「資料夾編輯者」角色 (roles/resourcemanager.folderEditor) 或「資料夾管理員」角色 (roles/resourcemanager.folderAdmin)。

控制台

  1. 在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 按一下機構名稱旁的箭頭,展開樹狀檢視畫面,即可查看子資料夾。

  3. 在要更新的資料夾列中,按一下列尾的「動作」選單,然後按一下「設定」

  4. 輸入新資料夾名稱,然後按一下「儲存」

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 權限。

控制台

將資料夾移至主控台其他資料夾的程序與移動專案相似。

  1. 在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。

    開啟 Google Cloud 控制台

  2. 在頁面左上角的「機構」下拉式選單中,選取您的機構資源。
  3. 在專案和資料夾清單中,按一下資料夾資料列以選取資料夾。
  4. 按一下資料列中的選項選單 (垂直的刪節號圖示),再按一下「移動」
  5. 按一下 [瀏覽],選取資料夾要移入的資料夾。
  6. 按一下 [移動]

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)。

控制台

  1. 在 Google Cloud 控制台中,開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

    前往 Google Cloud 控制台的「管理資源」頁面。

  2. 按一下機構名稱旁的箭頭,展開樹狀檢視畫面,即可查看子資料夾。

  3. 在要刪除的資料夾列中,按一下列尾的「動作」選單,然後按一下「刪除」

  4. 在確認對話方塊中輸入資料夾 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>

後續步驟