Method: projects.databases.exportDocuments

将全部或部分文档的副本从 Google Cloud Firestore 导出到其他存储系统(例如 Google Cloud Storage)。近期的文档更新可能不会反映在导出的内容中。导出在后台进行,您可以通过创建的 Operation 资源监控和管理导出进度。完成关联操作后才能使用导出的输出。如果导出操作在完成之前被取消,则可能会将部分数据保留在 Google Cloud Storage 中。

如需详细了解导出行为和输出格式,请参阅:https://cloud.google.com/firestore/docs/manage-data/export-import

HTTP 请求

POST https://firestore.googleapis.com/v1/{name=projects/*/databases/*}:exportDocuments

网址采用 gRPC 转码语法。

路径参数

参数
name

string

必需。要导出的数据库。应采用以下格式:projects/{projectId}/databases/{databaseId}

请求正文

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

JSON 表示法
{
  "collectionIds": [
    string
  ],
  "outputUriPrefix": string,
  "namespaceIds": [
    string
  ],
  "snapshotTime": string
}
字段
collectionIds[]

string

要导出哪些集合 ID。“未指定”表示所有集合。

outputUriPrefix

string

输出 URI。目前仅支持 gs://BUCKET_NAME[/NAMESPACE_PATH] 形式的 Google Cloud Storage URI,其中 BUCKET_NAME 是 Google Cloud Storage 存储分区的名称,NAMESPACE_PATH 是可选的 Google Cloud Storage 命名空间路径。选择名称时,请务必遵循 Google Cloud Storage 的命名准则:https://cloud.google.com/storage/docs/naming。如果 URI 是一个存储分区(没有命名空间路径),系统将根据开始时间生成一个前缀。

namespaceIds[]

string

空列表表示所有命名空间。这是不使用命名空间的数据库的首选用法。

空字符串元素表示默认命名空间。如果数据库在非默认命名空间中有数据,但您不希望包含这些数据,则应使用此方法。此列表中的每个命名空间都必须是唯一的。

snapshotTime

string (Timestamp format)

与要导出的数据库版本对应的时间戳。时间戳必须是过去的时间戳,四舍五入到分钟,并且不早于 earliestVersionTime。如果指定,则导出的文档将代表指定时间的一致数据库视图。否则,我们无法保证所导出文档的一致性。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

响应正文

如果成功,则响应正文包含一个 Operation 实例。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览