Method: iceberg.v1.restcatalog.extensions.projects.catalogs.failover

将目录故障切换到新的主副本区域。

HTTP 请求

POST https://biglake.googleapis.com/iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}:failover

网址采用 gRPC 转码语法。

路径参数

参数
name

string

必需。目录的名称,采用“projects/{projectId}/catalogs/{catalogId}”格式

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "primaryReplica": string,
  "validateOnly": boolean,
  "conditionalFailoverReplicationTime": string
}
字段
primaryReplica

string

必需。要分配为新主副本区域的区域。例如“us-east1”。这必须是目录的副本列表中标记为“辅助”的副本区域之一。

validateOnly

boolean

可选。如果设置,则仅验证请求,但不执行更新。这可用于随时检查 replicationTime,包括在执行故障切换之前。

conditionalFailoverReplicationTime

string (Timestamp format)

可选。如果未设置,请等待源区域中的所有数据复制到新的主区域,然后再完成故障切换,且不会丢失任何数据(也称为“软故障切换”)。如果设置,则立即进行故障切换,接受丢失在此时间戳之后在源区域中提交的任何尚未复制的数据。如果在此时间之前提交的任何数据尚未复制,则不会执行故障切换,并且会返回错误(也称为“硬故障切换”)。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

响应正文

catalog.failover 的响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "replicationTime": string
}
字段
replicationTime

string (Timestamp format)

仅限输出。在指定为新 primaryReplica 的区域中,所有命名空间和表元数据都已复制的最小时间戳。某些资源的复制时间可能比此时间戳晚。如果为空,则表示副本刚刚创建,尚未完全初始化。注意:当 Cloud Storage 复制水印可用时,此值将同时表示目录元数据和 Cloud Storage 数据。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview