本頁說明如何建立啟用階層式命名空間的 bucket。
必要的角色
如要取得建立啟用階層式命名空間的 bucket 所需的權限,請要求管理員授予您專案的「Storage 管理員 」(roles/storage.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備 storage.buckets.create 權限,可建立啟用階層式命名空間的值區。
建立啟用階層命名空間的 bucket
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
- 點選 「建立」。
- 在「建立 bucket」頁面中,輸入 bucket 資訊。完成下列每個步驟後,請按一下「繼續」前往下一個步驟:
-
在「開始使用」部分,執行下列操作:
-
輸入符合值區名稱要求的全域不重複名稱。
-
-
在「Choose where to store your data」(選擇資料的儲存位置) 部分,執行下列操作:
-
在「選擇資料儲存方式」部分,執行下列操作:
-
為 bucket 選取預設儲存空間級別,或選取「Autoclass」(自動分類),讓系統自動管理 bucket 資料的儲存空間級別。
-
在「為資料密集型工作負載提供最理想的儲存空間」部分, 執行下列操作:
-
如要啟用階層命名空間,請選取「為這個 bucket 啟用階層命名空間」。
-
在「選取如何控制物件的存取權」部分,選取值區是否要強制執行禁止公開存取,並為值區物件選取統一值區層級存取權。
-
在「Choose how to protect object data」(選擇保護物件資料的方式) 部分,執行下列操作:
-
選取「資料保護」下方的任何選項,為 bucket 設定所需項目。
-
如要變更虛刪除功能在刪除物件後保留物件的時間長度,請選取「虛刪除政策」核取方塊,然後選取「設定自訂保留期限」選項。然後指定要保留已刪除物件的時間長度。
如要停用虛刪除功能 (例如 bucket 主要包含短期暫存資料),請取消勾選「虛刪除政策」核取方塊。
-
-
點選「建立」。
如要瞭解如何透過 Google Cloud 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
-
-
指令列
-
在 Google Cloud 控制台中啟用 Cloud Shell。
Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
-
在開發環境中,執行
gcloud storage buckets create指令:gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION --uniform-bucket-level-access --enable-hierarchical-namespace
其中:
BUCKET_NAME是您要授予值區的名稱,必須遵守命名要求。例如:my-bucket。BUCKET_LOCATION是值區的位置。例如:us-east1。--uniform-bucket-level-access:為值區啟用統一值區層級存取權。
--enable-hierarchical-namespace:為 bucket 啟用階層命名空間。您無法在現有 bucket 中啟用階層命名空間。
如果要求成功,指令會傳回下列訊息:
Creating gs://BUCKET_NAME/...
設定下列標記,進一步控管值區的建立作業:
--project:指定要與值區建立關聯的專案 ID 或專案編號。例如:my-project。--default-storage-class:指定值區的預設儲存空間級別。例如:STANDARD。如要自動管理物件的儲存空間級別,請改用--enable-autoclass旗標。詳情請參閱「Autoclass」。
如要查看使用 Google Cloud CLI 建立水桶的完整選項清單,請參閱
buckets create選項。例如:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access --enable-hierarchical-namespace
用戶端程式庫
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
- 建立包含值區設定的 JSON 檔案,其中必須包含值區的
name。如需完整的設定清單,請參閱「 Buckets: Insert」說明文件。以下是常見的設定: BUCKET_NAME是您要授予值區的名稱,必須遵守命名要求。例如:my-bucket。BUCKET_LOCATION是您希望儲存值區物件資料的位置。例如:US-EAST1。STORAGE_CLASS是值區的預設儲存空間級別。例如:STANDARD。- 設為
TRUE,即可為 bucket 啟用階層命名空間。hierarchicalNamespace.enabled您無法在現有 bucket 中啟用階層命名空間。 - 設為
TRUE,即可為 bucket 啟用統一 bucket 層級存取權。uniformBucketLevelAccess.enabled
- 使用
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?project=PROJECT_IDENTIFIER"
其中:
JSON_FILE_NAME是包含 bucket 設定的 JSON 檔案名稱。PROJECT_IDENTIFIER是要與值區建立關聯的專案 ID 或編號。例如:my-project。
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "hierarchicalNamespace": { "enabled": "BOOLEAN" }, "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, }, }
其中:
後續步驟
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud Storage 平台的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
免費試用 Cloud Storage