本页面介绍了如何创建已启用分层命名空间的存储桶。
所需的角色
如需获得创建启用分层命名空间的存储桶所需的权限,请让您的管理员为您授予项目的 Storage Admin (roles/storage.admin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建已启用分层命名空间的存储桶所需的 storage.buckets.create 权限。
创建启用了分层命名空间的存储桶
控制台
命令行
-
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:为存储桶启用分层命名空间。您无法在现有存储桶中启用分层命名空间。
如果请求成功,该命令将返回以下消息:
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.s3nsapis.fr/storage/v1/b?project=PROJECT_IDENTIFIER"
其中:
JSON_FILE_NAME是包含存储桶设置的 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 }, }, }
其中: