本頁面說明如何在已啟用階層命名空間的 bucket 中,建立及管理資料夾。具體來說,本頁面會說明如何建立、列出及刪除資料夾,以及如何取得資料夾的中繼資料。
如要進一步瞭解這些資料夾作業,請參閱「資料夾作業」。
事前準備
如要按照這些操作說明操作,bucket 必須啟用階層命名空間。如要建立啟用這項功能的值區,請參閱「建立啟用階層命名空間的值區」。
建立資料夾
本節說明如何在 bucket 中建立新資料夾。
控制台
-
前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
- 在 bucket 清單中,按一下要建立資料夾的 bucket 名稱。
- 在「Bucket details」(值區詳細資料) 頁面中,按一下「Create folder」(建立資料夾),建立空白資料夾。
- 在「Name」(名稱) 欄位中,輸入資料夾名稱。如需命名注意事項,請參閱「注意事項」。
-
按一下「建立」。
新建立的資料夾會顯示在「Folder browser」(資料夾瀏覽器) 窗格中。
指令列
-
在 Google Cloud 控制台中啟用 Cloud Shell。
Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。
-
在開發環境中執行
gcloud storage folders create指令:gcloud storage folders create --recursive gs://BUCKET_NAME/FOLDER_NAME
其中:
BUCKET_NAME是 bucket 名稱。例如:my-bucket。FOLDER_NAME是要建立的資料夾名稱。例如,my-folder/。如要瞭解資料夾名稱,請參閱資料夾總覽說明文件。--recursive旗標會自動建立所有不存在的上層資料夾和資料夾。如果上層資料夾已存在,則可選擇是否要使用這項設定。
如果要求成功,指令會傳回下列訊息:
Completed 1/1
用戶端程式庫
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標頭產生存取權杖。- 建立包含資料夾設定的 JSON 檔案,其中必須包含資料夾的
name。如需完整的設定清單,請參閱「資料夾:插入」說明文件。必須包含下列設定:{ "name": "FOLDER_NAME", }
其中 FOLDER_NAME 是要建立的資料夾名稱。例如:
my-folder/。如要瞭解資料夾名稱,請參閱資料夾總覽說明文件。 - 使用
cURL呼叫 JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders?recursive=true"
其中:
JSON_FILE_NAME是包含資料夾設定的 JSON 檔案名稱。BUCKET_NAME是要建立資料夾的 bucket 名稱。recursive設為 true,即可自動建立所有不存在的父項資料夾和資料夾。如果上層資料夾已存在,則可選擇是否要使用這項設定。
上傳資料夾
本節說明如何將資料夾上傳至 bucket。上傳資料夾時,系統會使用基礎建立資料夾作業,以及批次物件上傳作業。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要上傳資料夾的 bucket 名稱。
在「Bucket details」(值區詳細資料) 分頁中,執行下列其中一項操作:
將資料夾從桌面或檔案管理員拖曳到 Google Cloud 控制台的主窗格。
依序點選「上傳」>「上傳資料夾」,在隨即顯示的對話方塊中選取要上傳的資料夾,然後點選「開啟」。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」。
指令列
使用加上 --recursive 旗標的 gcloud storage cp 指令:
gcloud storage cp --recursive FOLDER_LOCATION gs://DESTINATION_BUCKET_NAME
其中:
FOLDER_LOCATION是要上傳的資料夾本機路徑。例如:../uploads/my-folder/。DESTINATION_BUCKET_NAME是要上傳資料夾的 bucket 名稱。例如:my-bucket。
如果成功,回應會類似以下範例:
Copying file://DIR/OBJ1 at 10.06.32 PM.png to gs://BUCKET_NAME/DIR/OBJ1 at 10.06.32 PM.png Copying file://DIR/OBJ1 at 10.06.32 PM.png to gs://BUCKET_NAME/DIR/OBJ1 at 10.06.32 PM.png Completed files 2/2 | 1.7MiB/1.7MiB
列出資料夾
本節說明如何列出資料夾。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,按一下要列出資料夾的 bucket 名稱。
在「資料夾瀏覽器」窗格中,使用展開箭頭 展開值區中的資料夾清單。
清單會顯示 bucket 中的資料夾、模擬資料夾和代管資料夾。
指令列
如要列出 bucket 中的所有資料夾,請執行 gcloud storage folders list 指令:
gcloud storage folders list gs://BUCKET_NAME/
其中:
BUCKET_NAME是 bucket 名稱,其中包含您要列出的資料夾。例如:my-bucket。
成功的回應會與下列範例相似:
bucket: hns-bucket id: hns-bucket/A/ kind: storage#folder name: A/ selfLink: https://www.googleapis.com/storage/v1/b/hns-bucket/f/A timeCreated: '2023-05-05T16:32:08.878000+00:00' updated: '2023-05-05T16:32:08.878000+00:00' --- bucket: hns-bucket id: hns-bucket/B/ kind: storage#folder name: B/ selfLink: https://www.googleapis.com/storage/v1/b/hns-bucket/f/B timeCreated: '2023-05-05T16:32:08.878000+00:00' updated: '2023-05-05T16:32:08.878000+00:00' --- bucket: hns-bucket id: hns-bucket/B/D/ kind: storage#folder name: D/ selfLink: https://www.googleapis.com/storage/v1/b/hns-bucket/f/B/D timeCreated: '2023-05-05T16:32:08.878000+00:00' updated: '2023-05-05T16:32:08.878000+00:00' --- bucket: hns-bucket id: hns-bucket/C/ kind: storage#folder name: C/ selfLink: https://www.googleapis.com/storage/v1/b/hns-bucket/f/C timeCreated: '2023-05-05T16:32:08.878000+00:00' updated: '2023-05-05T16:32:08.878000+00:00' --- bucket: hns-bucket id: hns-bucket/C/E/ kind: storage#folder name: E/ selfLink: https://www.googleapis.com/storage/v1/b/hns-bucket/f/C/E timeCreated: '2023-05-05T16:32:08.878000+00:00' updated: '2023-05-05T16:32:08.878000+00:00' ...
用戶端程式庫
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
刪除資料夾
本節說明如何刪除資料夾。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,按一下要刪除資料夾的 bucket 名稱。
在「資料夾瀏覽器」窗格中,使用展開箭頭 展開值區中的資料夾清單。
找出要刪除的資料夾。
按一下資料夾的 「More actions」(更多動作) 選單。
按一下「刪除資料夾」。
如要確認刪除資料夾,請在「刪除」欄位中輸入
DELETE。點選「刪除」。
資料夾及其內容 (包括儲存的物件和其他代管資料夾) 會從 Cloud Storage bucket 中刪除。
指令列
如要刪除空資料夾,請執行 gcloud storage folders delete 指令:
gcloud storage folders delete gs://BUCKET_NAME/FOLDER_NAME
其中:
BUCKET_NAME是 bucket 的名稱。例如:my-bucket。FOLDER_NAME是要刪除的資料夾名稱。例如:my-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,並傳送DELETEFolder 要求:curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/FOLDER_NAME"
其中:
BUCKET_NAME是要刪除的資料夾所屬的 bucket 名稱。例如:my-bucket。FOLDER_NAME是要刪除的資料夾名稱,以網址編碼表示。例如my-folder/,網址編碼為my-folder%2F。
取得資料夾的中繼資料
本節說明如何取得資料夾的中繼資料。
指令列
如要取得資料夾的中繼資料,請執行 gcloud storage folders describe 指令:
gcloud storage folders describe gs://BUCKET_NAME/FOLDER_NAME
其中:
BUCKET_NAME是 bucket 的名稱,其中包含您要擷取中繼資料的資料夾。例如:my-bucket。FOLDER_NAME是要擷取中繼資料的資料夾名稱。例如:my-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,並發出GETFolder 要求:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/FOLDER_NAME"
其中:
BUCKET_NAME是 bucket 的名稱,其中包含您要擷取中繼資料的資料夾。例如:my-bucket。FOLDER_NAME是要擷取中繼資料的資料夾名稱,並經過網址編碼。例如my-folder/,網址編碼為my-folder%2F。
管理資料夾存取權
本節說明如何設定 Identity and Access Management (IAM) 政策,管理資料夾的存取權,以便精細控管儲存空間中特定物件群組的存取權。
如要管理資料夾的存取權,請按照下列步驟操作:
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage