本頁說明如何建立已啟用階層式命名空間的 bucket。
必要的角色
如要取得必要權限,以便建立啟用階層式命名空間的值區,請要求管理員授予您專案的儲存空間管理員 (roles/storage.admin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備 storage.buckets.create 權限,這是建立啟用階層式命名空間的值區時的必要權限。
建立啟用階層命名空間的 bucket
控制台
- 在 Cloud de Confiance 控制台,前往「Cloud Storage bucket」頁面。
- 按一下「 Create」(建立)。
- 在「建立 bucket」頁面中,輸入 bucket 資訊。完成下列每個步驟後,請按一下「繼續」前往下一個步驟:
-
在「開始使用」部分,執行下列操作:
-
輸入符合值區名稱規定的全域不重複名稱。
-
-
在「Choose where to store your data」(選擇資料的儲存位置) 專區中執行下列操作:
-
在「選擇資料的儲存方式」部分,請執行下列操作:
-
為 bucket 選取預設儲存空間級別,或選取「Autoclass」(自動分類),讓系統自動管理 bucket 資料的儲存空間級別。
-
在「為資料密集型工作負載提供最理想的儲存空間」部分,請執行下列操作:
點選「建立」。
如要瞭解如何透過 Cloud de Confiance 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
-
-
指令列
-
In the Cloud de Confiance console, activate Cloud Shell.
At the bottom of the Cloud de Confiance console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
在開發環境中,執行
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。
如需使用 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
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。- 建立包含值區設定的 JSON 檔案,其中必須包含值區的
name。如需完整的設定清單,請參閱「 Buckets: Insert」說明文件。以下是常見的設定: BUCKET_NAME是您要授予值區的名稱,必須遵守命名要求。例如:my-bucket。BUCKET_LOCATION是您希望儲存值區物件資料的位置。例如:US-EAST1。STORAGE_CLASS是值區的預設儲存空間級別。例如:STANDARD。hierarchicalNamespace.enabled設為TRUE,即可為 bucket 啟用階層命名空間。您無法在現有 bucket 中啟用階層命名空間。uniformBucketLevelAccess.enabled設為TRUE,為 bucket 啟用統一值區層級存取權。
- 使用
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.s3nsapis.fr/storage/v1/b?project=PROJECT_IDENTIFIER"
其中:
JSON_FILE_NAME是包含 bucket 設定的 JSON 檔案名稱。PROJECT_IDENTIFIER是要與值區建立關聯的專案 ID 或編號。例如:my-project。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱 Cloud Storage C# API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱 Cloud Storage Go API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱 Cloud Storage Java API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱 Cloud Storage PHP API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱 Cloud Storage Python API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考說明文件。
如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
REST API
JSON API
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "hierarchicalNamespace": { "enabled": "BOOLEAN" }, "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, }, }
其中: