本页面介绍如何更改存储桶的默认存储类别。将对象上传到存储桶时,如果您没有指定对象的存储类别,则系统会为该对象分配存储桶的默认存储类别。如需详细了解存储类别,请参阅存储类别。
所需的角色
为了获得更改存储桶的存储类别所需的权限,请让管理员向您授予存储桶的 Storage Admin (roles/storage.admin
) IAM 角色。
此预定义角色可提供更改存储桶的存储类别所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
storage.buckets.get
- 仅当您计划使用 Google Cloud 控制台执行本页面上的任务时,才需要此权限。
storage.buckets.list
- 仅当您计划使用 Google Cloud 控制台执行本页面上的任务时,才需要此权限。
storage.buckets.update
您也可以使用自定义角色来获取这些权限。
如需了解如何授予存储桶的角色,请参阅将 IAM 与存储桶搭配使用。
更改存储桶的默认存储类别
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,点击要更改其存储类别的存储桶的名称。
在存储桶详情页面中,点击配置标签页。
点击默认存储类别的修改图标 (edit)。
在重叠式窗口中,为您的存储桶选择所需的新默认存储类别。
点击保存。
如需了解如何在 Google Cloud 控制台中获取失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
命令行
使用带有 --default-storage-class
标志的 gcloud storage buckets update
命令:
gcloud storage buckets update gs://BUCKET_NAME --default-storage-class=STORAGE_CLASS
其中:
BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。STORAGE_CLASS
是您想要用于存储桶的新存储类别,例如nearline
。
响应如下例所示:
Setting default storage class to "nearline" for bucket gs://my-bucket
客户端库
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
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。或者,您可以创建访问令牌(使用 OAuth 2.0 Playground),并将其包含在
Authorization
标头中。创建一个包含以下信息的 JSON 文件:
{ "storageClass": "STORAGE_CLASS" }
其中
STORAGE_CLASS
是您想要用于存储桶的新存储类别,例如nearline
。使用
cURL
,通过PATCH
Bucket 请求调用 JSON API:curl -X PATCH --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/BUCKET_NAME?fields=storageClass"
其中:
JSON_FILE_NAME
是您在第 2 步中创建的 JSON 文件的路径。BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。
XML API
安装并初始化 gcloud CLI,以便为
Authorization
标头生成访问令牌。或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在
Authorization
标头中。创建一个包含以下信息的 XML 文件:
<StorageClass>STORAGE_CLASS</StorageClass>
其中
STORAGE_CLASS
是您想要用于存储桶的新存储类别的名称,例如nearline
。使用
cURL
通过范围限定为?storageClass
的PUT
Bucket 请求调用 XML API:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?storageClass"
其中:
XML_FILE_NAME
是您在第 2 步中创建的 XML 文件的路径。BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。