本页面介绍了如何创建、列出和删除启用了分层命名空间的存储桶。
创建存储桶
本部分介绍了如何创建启用了分层命名空间的存储桶。
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
- 点击 创建。
- 在创建存储桶页面上,输入您的存储桶信息,然后点击继续:
- 在开始使用部分中,执行以下操作:
- 输入符合存储桶名称要求的全局唯一的存储桶名称。
- 如需启用分层命名空间(预览版),请点击 展开箭头以展开 Optimize for file oriented and data-intensive workloads 部分,然后选择在此存储桶上启用分层命名空间。
注意:您无法在现有存储桶中启用分层命名空间。
- 可选:如需添加存储桶标签,请点击 展开箭头以展开标签部分,然后点击 add_box 添加标签,并为标签指定
key
和value
。 - 在选择数据存储位置部分中,执行以下操作:
- 在为数据选择一个存储类别部分中,为存储桶选择默认存储类别,或者选择 Autoclass 对存储桶数据进行自动存储类别管理。
注意:右侧窗格中的每月费用估算面板会根据您选择的存储类别和位置以及您预期的数据大小和操作,估算存储桶的每月费用。
- 在选择如何控制对对象的访问权限部分中,选择存储桶是否强制执行禁止公开访问,然后在访问权限控制部分,选择统一。
注意:如果项目的组织政策已强制执行禁止公开访问,则禁止公开访问切换开关处于锁定状态。
- 在选择如何保护对象数据部分中,执行以下操作:
- 点击创建。
如需了解如何在 Google Cloud 控制台中获取失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
命令行
-
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 alpha storage buckets create
命令:gcloud alpha 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 alpha storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
客户端库
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
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在
Authorization
标头中。- 创建一个包含存储桶设置的 JSON 文件,其中必须包含存储桶的
name
。如需查看完整的设置列表,请参阅 Buckets: Insert 文档。以下是一些常用的设置,包括: 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
。
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "hierarchicalNamespace": { "enabled": "BOOLEAN" }, "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, }, }
其中:
存储桶的存储布局描述了对象在存储桶内(无论是平面命名空间还是分层命名空间)的排列方式。如需了解如何查看存储桶的存储布局,请参阅获取存储桶的存储布局。
如需列出所有存储桶(无论其存储布局如何),请按照列出存储桶中的说明操作。
您可以按照与任何其他存储桶相同的方式删除启用了分层命名空间的存储桶。删除时,如果启用了分层命名空间的存储桶仅包含空文件夹,而不包含对象或托管式文件夹,则该存储桶会被视为空。如需了解如何删除存储桶,请参阅删除存储桶。
后续步骤
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud Storage