本页面介绍了如何创建已启用分层命名空间的存储桶。
所需的角色
如需获得创建启用分层命名空间的存储桶所需的权限,请让您的管理员为您授予项目的 Storage Admin (roles/storage.admin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建已启用分层命名空间的存储桶所需的 storage.buckets.create 权限。
创建启用了分层命名空间的存储桶
控制台
命令行
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud 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:为存储桶启用分层命名空间。您无法在现有存储桶中启用分层命名空间。
如果请求成功,该命令将返回以下消息:
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。如需查看完整的设置列表,请参阅存储桶:插入文档。以下是一些常用的设置,包括: BUCKET_NAME是您要为自己的存储桶指定的名称(须遵循命名要求),例如my-bucket。BUCKET_LOCATION是您要用于存储自己的存储桶对象数据的位置,例如US-EAST1。STORAGE_CLASS是您存储桶的默认存储类别,例如STANDARD。- 将
hierarchicalNamespace.enabled设置为TRUE,以便为存储桶启用分层命名空间。您无法在现有存储桶中启用分层命名空间。 - 将
uniformBucketLevelAccess.enabled设置为TRUE,以便为存储桶启用统一存储桶级访问权限。
- 使用
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是包含存储桶设置的 JSON 文件的名称。PROJECT_IDENTIFIER是与存储桶相关联的项目 ID 或编号。例如my-project。
客户端库
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
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "hierarchicalNamespace": { "enabled": "BOOLEAN" }, "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, }, }
其中:
后续步骤
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud Storage