本页面介绍了如何创建 Cloud Storage 存储桶。除非您在请求中另行指定,否则系统创建的存储桶采用默认存储类别 Standard Storage,并且具有 7 天的软删除保留时长。
所需的角色
为了获得创建 Cloud Storage 存储桶所需的权限,请让您的管理员向您授予项目的 Storage Admin (roles/storage.admin
) IAM 角色。
此预定义角色可提供创建存储桶所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
storage.buckets.create
storage.buckets.enableObjectRetention
(仅当为存储桶启用对象保留配置时才需要)storage.buckets.list
(仅当使用 Trusted Cloud 控制台创建存储桶时才需要。)resourcemanager.projects.get
(仅当使用 Trusted Cloud 控制台创建存储桶时才需要)
您也可以使用自定义角色或其他预定义角色来获取这些权限。要查看哪些角色与哪些权限相关联,请参阅适用于 Cloud Storage 的 IAM 角色。
如需了解如何授予项目角色,请参阅管理对项目的访问权限。
创建新存储桶
如果您是首次创建存储桶,请参阅使用 Trusted Cloud 控制台发现对象存储空间或使用 Google Cloud CLI 工具发现对象存储空间。
如需创建具有特定设置或高级配置的存储桶,请完成以下步骤:
控制台
- 在 Trusted Cloud 控制台中,转到 Cloud Storage 存储桶页面。
点击
创建。在创建存储桶页面上,输入您的存储桶信息。完成以下每一步后,点击继续以继续执行后续步骤:
在开始使用部分中,执行以下操作:
在选择数据存储位置部分中,执行以下操作:
在选择数据存储位置部分中,执行以下操作:
在针对数据密集型工作负载优化存储部分中,执行以下操作:
如需启用分层命名空间,请选择在此存储桶上启用分层命名空间。
如需启用 Anywhere Cache,请选择启用 Anywhere Cache。
如需创建缓存,请点击配置。
在随即显示的配置缓存设置对话框中,点击所列区域旁边的下拉箭头,然后选择要创建缓存的可用区。
点击完成。
点击继续。
在选择如何保护对象数据部分中,执行以下操作:
点击创建。
如需了解如何在 Trusted Cloud 控制台中获取失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
命令行
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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
其中:
如果请求成功,该命令将返回以下消息:
Creating gs://BUCKET_NAME/...
设置以下标志,以便更好地控制存储桶的创建:
--project
:指定将与您的存储桶相关联的项目 ID 或项目编号,例如my-project
。--default-storage-class
:指定存储桶的默认存储类别,例如STANDARD
。--uniform-bucket-level-access
:为存储桶启用统一存储桶级访问权限。--soft-delete-duration
:指定软删除保留时长,即您希望在删除对象后保留对象的天数。例如10d
。
例如:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access --soft-delete-duration=RETENTION_DURATION
如需查看使用 gcloud CLI 创建存储桶的选项的完整列表,请参阅
buckets create
选项。安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建一个包含存储桶设置的 JSON 文件,其中必须包含存储桶的
name
。请参阅存储桶:插入文档,查看完整的设置列表。以下是一些常用的设置,包括:{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
其中:
-
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
是您在第 2 步中创建的 JSON 文件的名称。PROJECT_IDENTIFIER
是将与存储桶关联的项目的 ID 或编号,例如my-project
。
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。创建包含存储桶设置的 XML 文件。请参阅 XML:创建存储桶文档,查看完整的设置列表。以下是一些常用的设置,包括:
<CreateBucketConfiguration> <StorageClass>STORAGE_CLASS</StorageClass> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> </CreateBucketConfiguration>
其中:
-
curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.s3nsapis.fr/BUCKET_NAME"
其中:
XML_FILE_NAME
是您在第 2 步中创建的 XML 文件的名称。PROJECT_ID
是将与您的存储桶相关联的项目的 ID,例如my-project
。BUCKET_NAME
是您要为自己的存储桶指定的名称(须遵循命名要求),例如my-bucket
。
如果请求成功,则系统不会返回响应。
客户端库
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
。
Terraform
您可以使用 Terraform 资源创建存储桶。
REST API
JSON API
XML API
后续步骤
- 列出项目中的存储桶。
- 了解与存储桶关联的元数据。
- 移动或重命名存储桶。
- 删除存储桶。
- 将对象上传到您的存储桶。
- 使用 Kubernetes Config Connector 以声明方式创建和配置存储桶,您还可以借助此插件使用 Kubernetes 工具、API 和配置描述 Trusted Cloud by S3NS 资源。如需了解详情,请参阅 Config Connector API 文档。