本页面介绍如何在双区域存储桶上使用增强型复制功能。
所需权限
控制台
如需使用 Google Cloud 控制台完成本指南,您必须拥有适当的 IAM 权限。如需使用此功能,您必须在双区域位置拥有或打算创建一个存储桶。如果您要访问的存储桶在不是由您创建的项目中,则可能需要项目所有者为您提供具有必要权限的角色。
如需查看特定操作所需权限的列表,请参阅 Google Cloud 控制台的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
命令行
为使用命令行实用程序完成本指南,您必须拥有适当的 IAM 权限。如需使用此功能,您必须在双区域位置拥有或打算创建一个存储桶。如果您要访问的存储桶在不是由您创建的项目中,则可能需要项目所有者为您提供具有必要权限的角色。
如需查看特定操作所需权限的列表,请参阅 gsutil 命令的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
客户端库
如需使用 Cloud Storage 客户端库完成本指南,您必须拥有适当的 IAM 权限。如需使用此功能,您必须在双区域位置拥有或打算创建一个存储桶。如果您要访问的存储桶在不是由您创建的项目中,则可能需要项目所有者为您提供具有必要权限的角色。
除非另有说明,否则客户端库请求通过 JSON API 发出,并且需要 JSON 方法的 IAM 权限中列出的权限。如需查看使用客户端库发出请求时调用了哪些 JSON API 方法,请记录原始请求。
如需查看相关 IAM 角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
REST API
JSON API
如需使用 JSON API 完成本指南,您必须拥有适当的 IAM 权限。如需使用此功能,您必须在双区域位置拥有或打算创建一个存储桶。如果您要访问的存储桶在不是由您创建的项目中,则可能需要项目所有者为您提供具有必要权限的角色。
如需查看特定操作所需的权限列表,请参阅 JSON 方法的 IAM 权限。
如需查看相关角色的列表,请参阅 Cloud Storage 角色。或者,您也可以创建一个自定义角色,并为其提供具体受限的权限。
XML API
此功能无法通过 XML API 进行管理。请改用 JSON API。
设置增强型复制
如需在现有存储桶上启用或停用增强型复制,请按照以下说明操作:
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,点击所需存储桶的名称。
点击配置标签页。
在复制行中,点击
修改。随即显示的窗口表示您要启用增强型复制还是停用增强型复制。
点击保存以确认新设置。
命令行
gcloud
将 gcloud storage buckets update
命令与 --rpo
标志结合使用:
gcloud storage buckets update gs://BUCKET_NAME --rpo=STATE
其中:
BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。STATE
为ASYNC_TURBO
(用于启用 Turbo 复制)或DEFAULT
(用于停用 Turbo 复制)。
如果成功,响应将如下所示:
Updating gs://my-bucket/... Completed 1
gsutil
使用 gsutil rpo set
命令:
gsutil rpo set STATE gs://BUCKET_NAME/
其中:
STATE
为ASYNC_TURBO
(用于启用 Turbo 复制)或DEFAULT
(用于停用 Turbo 复制)。BUCKET_NAME
是相关存储桶的名称,例如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
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。如需了解相关说明,请参阅 API 身份验证。
创建一个包含以下信息的 JSON 文件:
{ "rpo": "STATE" }
其中,
STATE
为ASYNC_TURBO
(用于启用 Turbo 复制)或DEFAULT
(用于停用 Turbo 复制)。使用
cURL
,通过PATCH
Bucket 请求调用 JSON API:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=rpo"
其中:
JSON_FILE_NAME
是您在第 2 步中创建的 JSON 文件的路径。OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。
如果请求成功,则不会返回任何响应。
XML API
此功能无法通过 XML API 进行管理。请改用 JSON API。
检查存储桶的复制状态
如需检查存储桶的恢复点目标 (RPO) 或复制状态,请按照以下说明操作:
控制台
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,点击要验证的存储桶的名称。
点击配置标签页。
如果该存储桶启用了增强型复制,则复制会设置为增强型。
命令行
gcloud
使用带有 --format
标志的 gcloud storage buckets describe
命令:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(rpo)"
其中:
BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。
如果成功,则响应类似如下示例:
rpo: ASYNC_TURBO
gsutil
使用 gsutil rpo get
命令:
gsutil rpo get gs://BUCKET_NAME/
其中:
BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。
如果成功,则响应类似如下示例:
gs://my-bucket: ASYNC_TURBO
客户端库
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
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。如需了解相关说明,请参阅 API 身份验证。
使用
cURL
,通过GET
Bucket 请求调用 JSON API:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=rpo"
其中:
OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌的名称。BUCKET_NAME
是相关存储桶的名称,例如my-bucket
。
响应如下例所示:
{ "name": "my-bucket", "projectNumber": "234...", ... "rpo": "ASYNC_TURBO" }
请注意
rpo
键。值ASYNC_TURBO
表示已启用增强型复制。DEFAULT
表示已应用默认复制。双区域和多区域存储桶中始终存在rpo
字段,但单区域存储桶中不存在该字段。
XML API
此功能无法通过 XML API 进行管理。请改用 JSON API。
监控存储桶的增强型复制性能
- 在 Google Cloud 控制台中,进入 Cloud Storage 存储桶页面。
在存储桶列表中,点击所需存储桶的名称。
点击配置标签页。
在复制行中,点击查看复制指标。
如果复制对象用时超过 15 分钟,则系统会汇总额外的分钟数并在 Google Cloud 控制台中显示为缺少 RPO 的分钟数。Google Cloud 控制台还会跟踪已完成的对象复制的数量,显示为使用增强型功能复制对象的次数。
如需了解详情,请参阅 Turbo 复制性能监控。