本页面介绍了如何创建 Cloud Storage 存储桶。除非您在请求中另行指定,否则系统会在 US
多区域中创建存储桶,其默认存储类别为 Standard Storage,并且有七天的软删除保留时长。
所需的角色
为了获得创建 Cloud Storage 存储桶所需的权限,请让您的管理员向您授予项目的 Storage Admin (roles/storage.admin
) IAM 角色。
此预定义角色可提供创建存储桶所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
storage.buckets.create
storage.buckets.enableObjectRetention
(仅当为存储桶启用对象保留配置时才需要)storage.buckets.list
(仅当使用 Google Cloud 控制台创建存储桶时才需要)resourcemanager.projects.get
(仅当使用 Google Cloud 控制台创建存储桶时才需要)
您也可以使用自定义角色或其他预定义角色来获取这些权限。要查看哪些角色与哪些权限相关联,请参阅适用于 Cloud Storage 的 IAM 角色。
如需了解如何授予项目角色,请参阅管理对项目的访问权限。
创建新存储桶
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
- 点击 + 创建。
- 在创建存储桶页面上,输入您的存储桶信息。如需转到下一步,请点击继续。
- 在指定存储桶的名称中,输入符合存储桶名称要求的名称。
- 在选择存储数据的位置部分,选择 位置类型和位置,将永久存储存储桶数据。
- 对于选择数据的存储类别,请为存储桶选择默认的存储类别,或者选择 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 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
。--soft-delete-duration
:指定存储桶的软删除保留时长。例如2w1d
。--uniform-bucket-level-access
:为存储桶启用统一存储桶级访问权限。
如需查看 gcloud 存储桶创建的选项的完整列表,请参阅
buckets create
选项。例如:
gcloud 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 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
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 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Terraform
您可以使用 Terraform 资源创建存储桶。
REST API
JSON API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在
Authorization
标头中。- 创建一个包含存储桶设置的 JSON 文件,其中必须包含存储桶的
name
。如需查看完整的设置列表,请参阅存储桶:插入文档。以下是一些常用的设置,包括: BUCKET_NAME
是您要为自己的存储桶指定的名称(须遵循命名要求),例如my-bucket
。BUCKET_LOCATION
是您要用于存储自己的存储桶对象数据的位置,例如US-EAST1
。STORAGE_CLASS
是您存储桶的默认存储类别,例如STANDARD
。- 使用
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
是您在第 2 步中创建的 JSON 文件的名称。PROJECT_IDENTIFIER
是将与您的存储桶相关联的项目的 ID 或编号,例如my-project
。
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
其中:
XML API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在
Authorization
标头中。- 创建包含存储桶设置的 XML 文件。如需查看完整的设置列表,请参阅 XML:创建存储桶文档。以下是一些常用的设置,包括:
- 使用
cURL
调用 XML API: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.googleapis.com/BUCKET_NAME"
其中:
XML_FILE_NAME
是您在第 2 步中创建的 XML 文件的名称。PROJECT_ID
是将与您的存储桶相关联的项目的 ID,例如my-project
。BUCKET_NAME
是您要为自己的存储桶指定的名称(须遵循命名要求),例如my-bucket
。
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
其中:
后续步骤
- 列出项目中的存储桶。
- 获取存储桶元数据的相关信息。
- 获取有关存储桶的存储布局的信息
- 移动或重命名存储桶。
- 删除存储桶。
- 将对象上传到您的存储桶。
- 使用 Kubernetes Config Connector 管理存储桶创建和配置。
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud Storage