×

GET /v1/db/restore

描述

参数

内容类型

  • application/json

响应

表 1. HTTP 响应代码
代码 消息 数据类型

200

成功的响应。

V1GetActiveDBRestoreProcessResponse

0

意外的错误响应。

GooglerpcStatus

示例

常用对象引用

DBExportManifestEncodingType

恢复体中文件数据的编码,通常用于压缩。

枚举值

UNKNOWN

UNCOMPREESSED

DEFLATED

DBRestoreProcessStatusResumeInfo

字段名称 必填 可空 类型 描述 格式

位置

字符串

int64

DBRestoreRequestHeaderLocalFileInfo

LocalFileInfo 提供有关启动恢复过程的用户本地机器上的文件的信息,以便向其他用户提供有关正在进行的恢复过程的信息。

字段名称 必填 可空 类型 描述 格式

路径

字符串

文件的完整路径。

字节大小

字符串

文件大小(以字节为单位)。如果未知,则为 0。

int64

GooglerpcStatus

字段名称 必填 可空 类型 描述 格式

代码

整数

int32

消息

字符串

细节

ProtobufAny 列表

ProtobufAny

Any 包含任意序列化的协议缓冲区消息以及描述序列化消息类型的 URL。

Protobuf 库提供支持,以实用程序函数或 Any 类型的附加生成方法的形式打包/解包 Any 值。

示例 1:在 C++ 中打包和解包消息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

示例 2:在 Java 中打包和解包消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

Protobuf 库提供的 pack 方法默认使用“type.googleapis.com/full.type.name”作为类型 URL,而 unpack 方法仅使用类型 URL 中最后一个“/”后的完全限定类型名称,例如“foo.bar.com/x/y.z”将产生类型名称“y.z”。

JSON 表示

Any 值的 JSON 表示使用反序列化、嵌入式消息的常规表示,以及包含类型 URL 的附加字段 @type。示例

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

如果嵌入的消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个字段value,该字段除了@type字段外还包含自定义 JSON。示例(对于消息[google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 必填 可空 类型 描述 格式

@type

字符串

一个 URL/资源名称,唯一标识序列化协议缓冲区消息的类型。此字符串必须包含至少一个“/”字符。URL 路径的最后一个段必须表示类型的完全限定名称(如path/google.protobuf.Duration)。名称应采用规范形式(例如,不接受前导“.”)。实际上,团队通常会预编译所有他们在 Any 上下文中预期使用的类型到二进制文件中。但是,对于使用方案httphttps或无方案的 URL,可以选择设置一个类型服务器,如下所示将类型 URL 映射到消息定义:* 如果未提供方案,则假定为https。* 对 URL 的 HTTP GET 必须产生二进制格式的[google.protobuf.Type][]值,否则会产生错误。* 应用程序可以根据 URL 缓存查找结果,或将其预编译到二进制文件中以避免任何查找。因此,需要在类型更改时保留二进制兼容性。(使用版本化的类型名称来管理重大更改。)注意:此功能当前在官方 protobuf 版本中不可用,并且不用于以 type.googleapis.com 开头的类型 URL。截至 2023 年 5 月,没有广泛使用的类型服务器实现,也没有计划实现一个。除了httphttps(或空方案)之外的方案可能会与特定于实现的语义一起使用。

V1DBExportManifest

数据库导出清单描述了恢复请求的文件内容。为防止数据丢失,清单始终被解释为具有约束力,即服务器必须确保它将读取并使用清单中列出的每个文件,否则必须拒绝请求。

字段名称 必填 可空 类型 描述 格式

files

V1DBExportManifestFile 列表

V1DBExportManifestFile

恢复正文中的单个文件。

字段名称 必填 可空 类型 描述 格式

name

字符串

文件名。这可能是也可能不是(相对)文件路径,由服务器解释。对于导出为 ZIP 文件的数据库,这是相对于存档根目录的路径。

encoding

DBExportManifestEncodingType

UNKNOWN,UNCOMPREESSED,DEFLATED,

encodedSize

字符串

int64

decodedSize

字符串

int64

decodedCrc32

Long

解码数据的 CRC32(IEEE)校验和。

int64

V1DBRestoreProcessMetadata

正在进行的或已完成的恢复过程的元数据。这是**静态**元数据,不会更改(即它不是状态)。

V1DBRestoreProcessStatus

字段名称 必填 可空 类型 描述 格式

metadata

V1DBRestoreProcessMetadata

attemptId

字符串

state

V1DBRestoreProcessStatusState

UNKNOWN,NOT_STARTED,IN_PROGRESS,PAUSED,COMPLETED,

resumeInfo

DBRestoreProcessStatusResumeInfo

error

字符串

bytesRead

字符串

int64

filesProcessed

字符串

int64

V1DBRestoreProcessStatusState

  • COMPLETED:如果 error 为空则成功,否则失败

枚举值

UNKNOWN

NOT_STARTED

IN_PROGRESS

PAUSED

COMPLETED

V1DBRestoreRequestHeader

字段名称 必填 可空 类型 描述 格式

formatName

字符串

数据库导出格式的名称。必填。

manifest

V1DBExportManifest

localFile

DBRestoreRequestHeaderLocalFileInfo

V1GetActiveDBRestoreProcessResponse

字段名称 必填 可空 类型 描述 格式

activeStatus

V1DBRestoreProcessStatus