Package google.firestore.admin.v1

索引

FirestoreAdmin

Cloud Firestore Admin API。

此 API 为 Cloud Firestore 提供了多种管理服务。

按照 Google Cloud Firestore API 中的定义,使用项目、数据库、命名空间、集合、集合组和文档。

操作:操作表示在后台执行的操作。

索引服务用于管理 Cloud Firestore 索引。

索引创建是异步执行的。系统会为每个此类异步操作创建一个 Operation 资源。您可以通过 Operation 资源来查询操作的状态(包括遇到的任何错误)。

“操作”集合提供了对指定项目执行的操作(包括任何正在进行的操作)的记录。操作不是直接创建的,而是通过调用其他集合或资源创建的。

已完成的操作可以删除,这样它就不再作为操作集合的一部分列出。操作是在 30 天后收集的垃圾回收。默认情况下,ListOperations 仅返回正在进行的操作和失败的操作。如需列出已完成的操作,请发出包含过滤条件 done: true 的 ListOperations 请求。

操作由服务 FirestoreAdmin 创建,但可通过服务 google.longrunning.Operations 进行访问。

CreateBackupSchedule

rpc CreateBackupSchedule(CreateBackupScheduleRequest) returns (BackupSchedule)

为数据库创建备份时间表。一个数据库最多可以配置两个备份计划:一个每日备份计划和一个每周备份计划。

授权范围

需要以下 OAuth 范围之一:

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

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

CreateDatabase

rpc CreateDatabase(CreateDatabaseRequest) returns (Operation)

创建数据库。

授权范围

需要以下 OAuth 范围之一:

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

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

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

创建复合索引。这将返回一个 google.longrunning.Operation,可用于跟踪创建的状态。该操作的元数据将是 IndexOperationMetadata 类型。

授权范围

需要以下 OAuth 范围之一:

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

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

DeleteBackup

rpc DeleteBackup(DeleteBackupRequest) returns (Empty)

删除备份。

授权范围

需要以下 OAuth 范围之一:

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

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

DeleteBackupSchedule

rpc DeleteBackupSchedule(DeleteBackupScheduleRequest) returns (Empty)

删除备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

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

DeleteDatabase

rpc DeleteDatabase(DeleteDatabaseRequest) returns (Operation)

删除数据库。

授权范围

需要以下 OAuth 范围之一:

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

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

DeleteIndex

rpc DeleteIndex(DeleteIndexRequest) returns (Empty)

删除复合索引。

授权范围

需要以下 OAuth 范围之一:

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

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

ExportDocuments

rpc ExportDocuments(ExportDocumentsRequest) returns (Operation)

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

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

授权范围

需要以下 OAuth 范围之一:

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

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

GetBackup

rpc GetBackup(GetBackupRequest) returns (Backup)

获取有关备份的信息。

授权范围

需要以下 OAuth 范围之一:

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

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

GetBackupSchedule

rpc GetBackupSchedule(GetBackupScheduleRequest) returns (BackupSchedule)

获取有关备份时间表的信息。

授权范围

需要以下 OAuth 范围之一:

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

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

GetDatabase

rpc GetDatabase(GetDatabaseRequest) returns (Database)

获取有关数据库的信息。

授权范围

需要以下 OAuth 范围之一:

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

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

GetField

rpc GetField(GetFieldRequest) returns (Field)

获取字段的元数据和配置。

授权范围

需要以下 OAuth 范围之一:

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

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

GetIndex

rpc GetIndex(GetIndexRequest) returns (Index)

获取复合索引。

授权范围

需要以下 OAuth 范围之一:

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

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

ImportDocuments

rpc ImportDocuments(ImportDocumentsRequest) returns (Operation)

将文档导入 Google Cloud Firestore。名称相同的现有文档会被覆盖。导入操作在后台进行,您可以通过创建的 Operation 资源来监控和管理导入进度。如果 ImportDocuments 操作被取消,则一部分数据可能已导入到 Cloud Firestore。

授权范围

需要以下 OAuth 范围之一:

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

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

ListBackupSchedules

rpc ListBackupSchedules(ListBackupSchedulesRequest) returns (ListBackupSchedulesResponse)

列出备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

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

ListBackups

rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse)

列出所有备份。

授权范围

需要以下 OAuth 范围之一:

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

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

ListDatabases

rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse)

列出项目中的所有数据库。

授权范围

需要以下 OAuth 范围之一:

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

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

ListFields

rpc ListFields(ListFieldsRequest) returns (ListFieldsResponse)

列出此数据库的字段配置和元数据。

目前,FirestoreAdmin.ListFields 仅支持列出已被明确替换的字段。如需发出此查询,请调用 FirestoreAdmin.ListFields,并将过滤条件设置为 indexConfig.usesAncestorConfig:falsettlConfig:*

授权范围

需要以下 OAuth 范围之一:

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

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

ListIndexes

rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse)

列出复合索引。

授权范围

需要以下 OAuth 范围之一:

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

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

RestoreDatabase

rpc RestoreDatabase(RestoreDatabaseRequest) returns (Operation)

通过从现有备份进行恢复来创建新数据库。

新数据库必须与现有备份位于同一云端区域或多区域位置。其行为类似于 [FirestoreAdmin.CreateDatabase][google.firestore.admin.v1.CreateDatabase],不同之处在于,系统会使用现有备份中的数据库类型、索引配置和文档创建新数据库,而不是创建新的空数据库。

long-running operation 可用于跟踪恢复进度,其中 Operation 的 metadata 字段类型为 RestoreDatabaseMetadata。如果恢复成功,response 类型为 Database。在 LRO 完成之前,新数据库不可读写。

授权范围

需要以下 OAuth 范围之一:

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

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

UpdateBackupSchedule

rpc UpdateBackupSchedule(UpdateBackupScheduleRequest) returns (BackupSchedule)

更新备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

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

UpdateDatabase

rpc UpdateDatabase(UpdateDatabaseRequest) returns (Operation)

更新数据库。

授权范围

需要以下 OAuth 范围之一:

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

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

UpdateField

rpc UpdateField(UpdateFieldRequest) returns (Operation)

更新字段配置。目前,字段更新仅适用于单字段索引配置。不过,对 FirestoreAdmin.UpdateField 的调用应提供字段掩码,以避免更改调用方不知道的任何配置。字段掩码应指定为 { paths: "index_config" }

此调用会返回一个 google.longrunning.Operation,可用于跟踪字段更新的状态。该操作的元数据将是 FieldOperationMetadata 类型。

如需为数据库配置默认字段设置,请使用带有资源名称 projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* 的特殊 Field

授权范围

需要以下 OAuth 范围之一:

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

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

备份

Cloud Firestore 数据库的备份。

备份包含指定数据库在特定时间点的所有文档和索引配置。

字段
name

string

仅限输出。备份的唯一资源名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

database

string

仅限输出。作为备份来源的 Firestore 数据库的名称。

格式为 projects/{project}/databases/{database}

database_uid

string

仅限输出。系统为备份所依据的 Firestore 数据库生成的 UUID4。

snapshot_time

Timestamp

仅限输出。目前,备份包含外部一致的数据库副本。

expire_time

Timestamp

仅限输出。此备份到期的时间戳。

state

State

仅限输出。备份的当前状态。

状态

指示备份的当前状态。

枚举
STATE_UNSPECIFIED 未指定状态。
CREATING 待处理备份仍在创建中。在此状态下,对备份执行的操作将被拒绝。
READY 备份已完成,可以使用了。
NOT_AVAILABLE 目前无法备份。

BackupSchedule

Cloud Firestore 数据库的备份时间表。

此资源归它备份的数据库所有,并随数据库一起删除。实际备份则不是。

字段
name

string

仅限输出。给定项目的所有位置和数据库中的唯一备份时间表标识符。

系统会自动分配此项。

格式为 projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

create_time

Timestamp

仅限输出。此备份时间表的创建时间戳和生效时间。

在此之前,系统不会为此时间表创建任何备份。

update_time

Timestamp

仅限输出。此备份时间表最近更新的时间戳。首次创建备份时间表时,此时间与 create_time 相同。

retention

Duration

相对于创建时间而言,应在未来的相对时间删除备份,例如将备份保留 7 天。

支持的最长保留期限为 14 周。

联合字段 recurrence。表示备份时间的 oneof 字段。recurrence 只能是下列其中一项:
daily_recurrence

DailyRecurrence

适用于每天运行的时间表。

weekly_recurrence

WeeklyRecurrence

适用于每周在特定日期运行的时间表。

CreateBackupScheduleRequest

FirestoreAdmin.CreateBackupSchedule 的请求。

字段
parent

string

必需。父级数据库。

格式化projects/{project}/databases/{database}

backup_schedule

BackupSchedule

必需。要创建的备份时间表。

CreateDatabaseMetadata

此类型没有字段。

与创建数据库操作相关的元数据。

CreateDatabaseRequest

FirestoreAdmin.CreateDatabase 的请求。

字段
parent

string

必需。格式为 projects/{project_id} 的父级名称

database

Database

必需。要创建的数据库。

database_id

string

必需。要用于数据库的 ID,该 ID 将成为数据库资源名称的最后一个组成部分。

此值应为 4-63 个字符。有效字符为 /[a-z][0-9]-/,其中第一个字符是一个字母,最后一个字符是一个字母或数字。不得为类似 UUID 的 /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/。

“(默认)”数据库 ID 也有效。

创建索引请求

FirestoreAdmin.CreateIndex 的请求。

字段
parent

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 的父级名称

index

Index

必需。要创建的复合索引。

每日重复

此类型没有字段。

表示每天运行的周期性时间表。

时区为世界协调时间 (UTC)。

数据库

Cloud Firestore 数据库。

字段
name

string

数据库的资源名称。格式:projects/{project}/databases/{database}

uid

string

仅限输出。系统为此数据库生成的 UUID4。

create_time

Timestamp

仅限输出。创建此数据库的时间戳。2016 年之前创建的数据库不会填充 create_time。

update_time

Timestamp

仅限输出。此数据库最近更新的时间戳。请注意,这仅包括对数据库资源的更新,而不包括数据库包含的数据。

delete_time

Timestamp

仅限输出。删除此数据库的时间戳。仅在数据库已被删除时设置。

location_id

string

数据库的位置。https://cloud.google.com/firestore/docs/locations 列出了可用位置。

type

DatabaseType

数据库的类型。如需了解如何选择,请参阅 https://cloud.google.com/datastore/docs/firestore-or-datastore

concurrency_mode

ConcurrencyMode

用于此数据库的并发控制模式。

version_retention_period

Duration

仅限输出。将旧版本的数据保留在数据库中的期限。

任何 readquery 都可以在此窗口中指定 read_time,并将读取当时数据库的状态。

如果启用了 PITR 功能,则保留期限为 7 天。否则,保留期限为 1 小时。

earliest_version_time

Timestamp

仅限输出。可从数据库中读取旧版本数据的最早时间戳。参见上面的 [version_retention_period];此字段将使用 now - version_retention_period 进行填充。

此值会持续更新,在被查询时就会过时。如果您使用该值恢复数据,请确保计算从发出查询到查询恢复那一刻这段时间。

point_in_time_recovery_enablement

PointInTimeRecoveryEnablement

是否对此数据库启用 PITR 功能。

app_engine_integration_mode

AppEngineIntegrationMode

要用于此数据库的 App Engine 集成模式。

key_prefix

string

仅限输出。此数据库的 key_prefix。此 key_prefix 与项目 ID(“~”)结合使用,以构建从 Google App Engine 第一代运行时中的 Cloud Datastore API 返回的应用 ID。

如果用于网址编码密钥的 appid 为 project_id(例如:foo 而不是 v~foo),此值可能为空。

delete_protection_state

DeleteProtectionState

数据库的删除保护状态。

cmek_config

CmekConfig

可选。“在线状态”表示已为此数据库启用 CMEK。

previous_id

string

仅限输出。数据库资源的先前数据库 ID。系统只会针对已删除的数据库填充此字段。

etag

string

此校验和由服务器根据其他字段的值计算,并且可能会在更新和删除请求时发送,以确保客户端在继续操作之前拥有最新的值。

AppEngineIntegrationMode

App Engine 集成模式的类型。

枚举
APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED 未使用。
ENABLED 如果 App Engine 应用与此数据库位于同一区域,则 App Engine 配置将影响此数据库。这包括停用相关应用和以及停用对数据库的写入。
DISABLED

App Engine 不影响此数据库处理请求的能力。

这是使用 Firestore API 创建的数据库的默认设置。

CmekConfig

Firestore 数据库的 CMEK(客户管理的加密密钥)配置。如果不存在,则数据库将采用默认 Google 加密密钥进行保护。

字段
kms_key_name

string

必需。只有与此数据库位于同一位置的密钥才能用于加密。

对于 Firestore 的 nam5 多区域,这对应于 Cloud KMS 多区域 us。对于 Firestore 的 eur3 多区域,此字段对应于 Cloud KMS 多区域(欧洲)。请参阅 https://cloud.google.com/kms/docs/locations

格式应为 projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}

active_key_version[]

string

仅限输出。当前使用的 KMS 密钥版本。在密钥轮替期间,可能有多个使用中的密钥版本。

格式应为 projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}

ConcurrencyMode

事务的并发控制模式的类型。

枚举
CONCURRENCY_MODE_UNSPECIFIED 未使用。
OPTIMISTIC 默认使用乐观并发控制。此模式适用于 Cloud Firestore 数据库。
PESSIMISTIC

默认使用悲观并发控制。此模式适用于 Cloud Firestore 数据库。

这是 Cloud Firestore 的默认设置。

OPTIMISTIC_WITH_ENTITY_GROUPS

默认情况下,将乐观并发控制与 entity 组搭配使用。

这是 Cloud Datastore 唯一可用的模式。

此模式也可用于采用 Datastore 模式的 Cloud Firestore,但不建议这样做。

DatabaseType

数据库的类型。如需了解如何选择,请参阅 https://cloud.google.com/datastore/docs/firestore-or-datastore

只有在数据库为空的情况下才能更改模式。

枚举
DATABASE_TYPE_UNSPECIFIED 默认值。如果省略数据库类型,则使用此值。
FIRESTORE_NATIVE Firestore 原生模式
DATASTORE_MODE Datastore 模式下的 Firestore。

删除保护状态

数据库的删除保护状态。

枚举
DELETE_PROTECTION_STATE_UNSPECIFIED 默认值。未指定删除保护类型
DELETE_PROTECTION_DISABLED 删除保护已停用
DELETE_PROTECTION_ENABLED 删除保护已启用

时间点恢复启用

启用时间点恢复功能。

枚举
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED 未使用。
POINT_IN_TIME_RECOVERY_ENABLED

过去 7 天内所选版本的数据支持读取:

  • 根据过去一小时内的任何时间戳进行读取
  • 针对超过 1 小时和 7 天内的 1 分钟快照进行读取

version_retention_periodearliest_version_time 可用于确定支持的版本。

POINT_IN_TIME_RECOVERY_DISABLED 过去 1 小时内任何版本的数据都支持读取。

DeleteBackupRequest

FirestoreAdmin.DeleteBackup 的请求。

字段
name

string

必需。要删除的备份的名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

DeleteBackupScheduleRequest 的请求

对 [FirestoreAdmin.DeleteBackupSchedules][] 的请求。

字段
name

string

必需。备份时间表的名称。

格式化projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

DeleteDatabaseMetadata

此类型没有字段。

与删除数据库操作相关的元数据。

DeleteDatabaseRequest 类中的方法

FirestoreAdmin.DeleteDatabase 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id} 的名称

etag

string

数据库的当前 etag。如果提供的 etag 与数据库的当前 etag 不匹配,系统将阻止删除操作并返回 FAILED_PRECONDITION 错误。

删除索引请求

FirestoreAdmin.DeleteIndex 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 的名称

ExportDocumentsMetadata

来自 FirestoreAdmin.ExportDocumentsgoogle.longrunning.Operation 结果的元数据。

字段
start_time

Timestamp

此操作开始的时间。

end_time

Timestamp

此操作完成的时间。如果操作仍在进行中,则取消设置。

operation_state

OperationState

导出操作的状态。

progress_documents

Progress

此操作的进度(以文档为单位)。

progress_bytes

Progress

此操作的进度(以字节为单位)。

collection_ids[]

string

正在导出哪些集合 ID。

output_uri_prefix

string

将文档导出到的位置。

namespace_ids[]

string

正在导出哪些命名空间 ID。

snapshot_time

Timestamp

与要导出的数据库版本对应的时间戳。如果未指定,则无法保证所导出文档的一致性。

ExportDocumentsRequest

FirestoreAdmin.ExportDocuments 的请求。

字段
name

string

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

collection_ids[]

string

要导出的集合 ID。未指定表示所有集合。此列表中的每个合集 ID 都必须是唯一的。

output_uri_prefix

string

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

namespace_ids[]

string

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

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

snapshot_time

Timestamp

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

ExportDocumentsResponse

google.longrunning.Operation 响应字段中返回。

字段
output_uri_prefix

string

输出文件的位置。此操作可用于在操作成功完成后开始将数据导入到 Cloud Firestore(此项目或其他项目)。

字段

表示数据库中的单个字段。

字段按其“集合组”(代表数据库中具有相同 ID 的所有集合)进行分组。

字段
name

string

必需。字段名称,格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

字段路径可能是简单的字段名称,例如address 或 map_value 中字段的路径,例如address.city 或特殊字段路径。唯一有效的特殊字段是 *,它表示任何字段。

字段路径可以使用 (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include:*,., ``` (backtick),[,]` 以及任何 ASCII 符号字符引用。

示例:(注意:此处的注释采用 Markdown 语法编写,因此还有一个额外的反引号层来表示代码块)\address.city`represents a field namedaddress.city, not the map key cityin the fieldaddress. `*`represents a field named*`,而不是任何字段。

特殊的 Field 包含所有字段的默认索引编制设置。此字段的资源名称为 projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*。在此 Field 上定义的索引将应用于没有专属 Field 索引配置的所有字段。

index_config

IndexConfig

此字段的索引配置。如果未设置,字段索引编制将还原为 ancestor_field 定义的配置。如需明确移除此字段的所有索引,请指定包含空索引列表的索引配置。

ttl_config

TtlConfig

Field 的 TTL 配置。设置或取消此设置均会为具有此 Field 的文档启用或停用 TTL。

索引配置

此字段的索引配置。

字段
indexes[]

Index

此字段支持的索引。

uses_ancestor_config

bool

仅限输出。如果为 true,系统会根据 ancestor_field 指定的配置来设置 Field 的索引配置。如果为 false,系统会明确定义 Field 的索引配置。

ancestor_field

string

仅限输出。指定用于设置此字段索引配置的 Field 的资源名称(当 uses_ancestor_config 为 true 时),或者如果此字段没有索引配置(当 uses_ancestor_config 为 false 时),将从中设置它的索引配置

reverting

bool

仅在值为 true 时输出,表示 Field 的索引配置正在还原过程中。完成后,索引配置将转换为与 ancestor_field 指定的字段相同的状态,此时 uses_ancestor_config 将为 truereverting 将为 false

TtlConfig

设置了此 Field 的文档的 TTL(存留时间)配置。

将时间戳值存储到已启用 TTL 的字段中时,系统会视为文档的绝对到期时间。过去的时间戳值表示文件可以立即失效。使用任何其他数据类型或不填写此字段都会停用单个文档的有效期。

字段
state

State

仅限输出。TTL 配置的状态。

状态

将 TTL 配置应用于所有文档的状态。

枚举
STATE_UNSPECIFIED 状态未指定或未知。
CREATING 正在应用 TTL。有一项长期运行的有效操作可跟踪更改。新写入的文档将根据请求应用 TTL。系统仍在处理针对现有文档请求的 TTL。当所有现有文档的 TTL 处理完毕后,状态将变为“ACTIVE”。
ACTIVE TTL 对所有文档都有效。
NEEDS_REPAIR 无法为所有现有文档启用 TTL 配置。新写入的文档将继续应用其 TTL。上次尝试为此 Field 启用 TTL 时返回的 LRO 失败,其中可能有更多详细信息。

FieldOperationMetadata

来自 FirestoreAdmin.UpdateFieldgoogle.longrunning.Operation 结果的元数据。

字段
start_time

Timestamp

此操作开始的时间。

end_time

Timestamp

此操作完成的时间。如果操作仍在进行中,则取消设置。

field

string

此操作对的字段资源。例如:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

index_config_deltas[]

IndexConfigDelta

IndexConfigDelta 列表,用于描述此操作的意图。

state

OperationState

操作的状态。

progress_documents

Progress

此操作的进度(以文档为单位)。

progress_bytes

Progress

此操作的进度(以字节为单位)。

ttl_config_delta

TtlConfigDelta

描述 TTL 配置的增量。

索引配置增量

索引配置更改的相关信息。

字段
change_type

ChangeType

指定索引的更改方式。

index

Index

更改的索引。

ChangeType

指定索引的更改方式。

枚举
CHANGE_TYPE_UNSPECIFIED 更改类型未指定或未知。
ADD 正在添加单字段索引。
REMOVE 正在移除单字段索引。

TtlConfigDelta

有关 TTL 配置更改的信息。

字段
change_type

ChangeType

指定 TTL 配置的更改方式。

ChangeType

指定 TTL 配置的更改方式。

枚举
CHANGE_TYPE_UNSPECIFIED 更改类型未指定或未知。
ADD 正在添加 TTL 配置。
REMOVE 正在移除 TTL 配置。

GetBackupRequest

FirestoreAdmin.GetBackup 的请求。

字段
name

string

必需。要获取的备份的名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

GetBackupScheduleRequest 类型

FirestoreAdmin.GetBackupSchedule 的请求。

字段
name

string

必需。备份时间表的名称。

格式化projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

GetDatabaseRequest

FirestoreAdmin.GetDatabase 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id} 的名称

GetFieldRequest

FirestoreAdmin.GetField 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id} 的名称

GetIndexRequest

FirestoreAdmin.GetIndex 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 的名称

ImportDocumentsMetadata

来自 FirestoreAdmin.ImportDocumentsgoogle.longrunning.Operation 结果的元数据。

字段
start_time

Timestamp

此操作开始的时间。

end_time

Timestamp

此操作完成的时间。如果操作仍在进行中,则取消设置。

operation_state

OperationState

导入操作的状态。

progress_documents

Progress

此操作的进度(以文档为单位)。

progress_bytes

Progress

此操作的进度(以字节为单位)。

collection_ids[]

string

正在导入的集合 ID。

input_uri_prefix

string

要导入的文档的位置。

namespace_ids[]

string

正在导入哪些命名空间 ID。

ImportDocumentsRequest

FirestoreAdmin.ImportDocuments 的请求。

字段
name

string

必需。要导入到的数据库。应采用以下格式:projects/{project_id}/databases/{database_id}

collection_ids[]

string

要导入的集合 ID。“未指定”表示导入中包含的所有集合。

input_uri_prefix

string

导出文件的位置。此前缀必须与已成功完成的导出中的 ExportDocumentsResponse 的 output_uri_prefix 匹配。请参阅:google.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix

namespace_ids[]

string

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

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

索引

Cloud Firestore 索引支持对数据库中的文档执行简单和复杂的查询。

字段
name

string

仅限输出。服务器为此索引定义的名称。复合索引此名称的格式为:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}。对于单字段索引,此字段将为空。

query_scope

QueryScope

指定了集合查询范围的索引允许针对作为特定文档子项、在查询时指定且具有相同集合 ID 的集合进行查询。

指定了集合组查询范围的索引允许查询来自特定文档、在查询时指定且与此索引具有相同集合 ID 的所有集合。

api_scope

ApiScope

此索引支持的 API 范围。

fields[]

IndexField

此索引支持的字段。

对于复合索引,至少需要 2 个字段,最多 100 个字段。最后一个字段条目始终针对字段路径 __name__。如果在创建时,没有将 __name__ 指定为最后一个字段,系统会自动按照所定义的最后一个字段的方向添加该字段。如果复合索引中的最后一个字段没有方向性,则 __name__ 将按升序排序(除非明确指定)。

对于单字段索引,这始终是且只有一个条目,其字段路径等于关联字段的字段路径。

state

State

仅限输出。索引的服务状态。

ApiScope

API 范围定义了查询支持的 API(Firestore 原生或 Datastore 模式 Firestore)。

枚举
ANY_API 索引只能由 Firestore Native Query API 使用。这是默认设置。
DATASTORE_MODE_API 该索引只能由 Datastore 模式 Firestore 查询 API 使用。

IndexField

索引中的字段。field_path 用于说明哪个字段已编入索引,value_mode 用于说明将字段值编入索引的方式。

字段
field_path

string

可以是 name。对于单字段索引,此字段必须与字段的名称匹配,也可以省略。

联合字段 value_mode。如何将字段值编入索引。value_mode 只能是下列其中一项:
order

Order

表示此字段支持按指定顺序排序或使用 =、!=、<、<=、>、>= 进行比较。

array_config

ArrayConfig

表示此字段支持对 array_value 执行操作。

vector_config

VectorConfig

表示此字段支持矢量的最近邻和距离运算。

ArrayConfig

支持的数组值配置。

枚举
ARRAY_CONFIG_UNSPECIFIED 索引不支持其他数组查询。
CONTAINS 索引支持数组包含查询。

顺序

支持的顺序。

枚举
ORDER_UNSPECIFIED 未指定顺序。选项无效。
ASCENDING 该字段按字段值升序排序。
DESCENDING 该字段按字段值降序排序。

VectorConfig

用于支持矢量搜索操作的索引配置

字段
dimension

int32

必需。此配置适用的矢量维度。

生成的索引将仅包含该维度的向量,并且可用于具有相同维度的向量搜索。

联合字段 type。所用索引的类型。type 只能是下列其中一项:
flat

FlatIndex

表示矢量索引是平面索引。

平面索引

此类型没有字段。

一种索引,用于将向量存储在平面数据结构中,并支持详尽搜索。

QueryScope

查询范围定义了运行查询的范围。这是在 StructuredQuery 的 from 字段中指定的。

枚举
QUERY_SCOPE_UNSPECIFIED 未指定查询范围。选项无效。
COLLECTION 指定了集合查询范围的索引允许查询作为特定文档的子项、在查询时指定且具有索引指定的集合 ID 的集合。
COLLECTION_GROUP 指定了集合组查询范围的索引允许查询具有该索引指定的集合 ID 的所有集合。
COLLECTION_RECURSIVE 在索引中包含所有集合的祖先实体。仅适用于 Datastore 模式数据库。

状态

索引的状态。在创建索引期间,索引将处于 CREATING 状态。如果成功创建索引,它会转换为 READY 状态。如果索引创建遇到问题,索引将转换为 NEEDS_REPAIR 状态。

枚举
STATE_UNSPECIFIED 未指定状态。
CREATING 正在创建索引。有一项针对索引的有效长时间运行的操作。索引会在写入文档时更新。可能存在某些索引数据。
READY 索引已准备就绪,可供使用。索引会在写入文档时更新。索引由其适用的所有存储文档完全填充。
NEEDS_REPAIR 正在创建索引,但出了点问题。没有针对索引的有效长时间运行的操作,最近完成的长时间运行的操作失败。在写入文档时,索引不会更新。可能存在某些索引数据。使用 google.longrunning.Operations API 确定上次尝试创建此索引的操作失败的原因,然后重新创建索引。

IndexOperationMetadata

来自 FirestoreAdmin.CreateIndexgoogle.longrunning.Operation 结果的元数据。

字段
start_time

Timestamp

此操作开始的时间。

end_time

Timestamp

此操作完成的时间。如果操作仍在进行中,则取消设置。

index

string

此操作对的索引资源。例如:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

state

OperationState

操作的状态。

progress_documents

Progress

此操作的进度(以文档为单位)。

progress_bytes

Progress

此操作的进度(以字节为单位)。

ListBackupSchedulesRequest

FirestoreAdmin.ListBackupSchedules 的请求。

字段
parent

string

必需。父级数据库。

格式为 projects/{project}/databases/{database}

ListBackupSchedulesResponse 类型

FirestoreAdmin.ListBackupSchedules 的响应。

字段
backup_schedules[]

BackupSchedule

所有备份时间表的列表。

ListBackupsRequest

FirestoreAdmin.ListBackups 的请求。

字段
parent

string

必需。列出备份的来源位置。

格式为 projects/{project}/locations/{location}。使用 {location} = '-' 列出给定项目所有位置的备份。这允许列出来自单个位置或所有位置的备份。

ListBackupsResponse

FirestoreAdmin.ListBackups 的响应。

字段
backups[]

Backup

项目所有备份的列表。

unreachable[]

string

无法从哪些位置提取现有备份。

此响应不会在无法到达单个位置时使整个请求失败,而是返回部分结果集和无法在此处到达的位置列表。可以针对单个位置重试请求,以获得具体错误。

ListDatabasesRequest

列出项目所有位置的 Firestore 数据库的请求。

字段
parent

string

必需。格式为 projects/{project_id} 的父级名称

show_deleted

bool

如果为 true,还会返回已删除的资源。

ListDatabasesResponse

项目的数据库列表。

字段
databases[]

Database

项目中的数据库。

unreachable[]

string

如果无法列出各个数据库的数据,系统会在此处记录这些数据。

示例条目可能是:projects/some_project/locations/some_location。如果数据库所在的 Cloud 区域当前不可用,则可能会发生这种情况。在这种情况下,我们无法提取有关数据库的所有详细信息。您可以通过发送“Get”方法获取更详细的错误消息(或者可以提取资源),请求资源或“列表”请求。

ListFieldsRequest

FirestoreAdmin.ListFields 的请求。

字段
parent

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 的父级名称

filter

string

要应用于列表结果的过滤条件。目前,FirestoreAdmin.ListFields 仅支持列出已被明确替换的字段。如需发出此查询,请使用包含 indexConfig.usesAncestorConfig:falsettlConfig:* 的过滤条件调用 FirestoreAdmin.ListFields

page_size

int32

要返回的结果数。

page_token

string

从上一次调用 FirestoreAdmin.ListFields 返回的页面令牌,可用于获取下一页结果。

列表字段响应

FirestoreAdmin.ListFields 的响应。

字段
fields[]

Field

所请求的字段。

next_page_token

string

可用于请求另一页结果的页面令牌。如果留空,则这是最后一页。

列表索引请求

FirestoreAdmin.ListIndexes 的请求。

字段
parent

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 的父级名称

filter

string

要应用于列表结果的过滤条件。

page_size

int32

要返回的结果数。

page_token

string

从上一次调用 FirestoreAdmin.ListIndexes 返回的页面令牌,可用于获取下一页结果。

列表索引响应

FirestoreAdmin.ListIndexes 的响应。

字段
indexes[]

Index

请求的索引。

next_page_token

string

可用于请求另一页结果的页面令牌。如果留空,则这是最后一页。

LocationMetadata

此类型没有字段。

google.cloud.location.Location.metadata 的元数据消息。

OperationState

描述操作的状态。

枚举
OPERATION_STATE_UNSPECIFIED 未指定。
INITIALIZING 正在准备请求,以进行处理。
PROCESSING 正在处理请求。
CANCELLING 用户对操作调用 google.longrunning.Operations.CancelOperation 后,系统正在取消请求。
FINALIZING 请求已处理完毕,目前处于敲定阶段。
SUCCESSFUL 请求已成功完成。
FAILED 请求已处理完毕,但遇到了错误。
CANCELLED 在用户调用 google.longrunning.Operations.CancelOperation 后,请求完成取消。

进度

说明操作的进度。工作单位是通用的,必须根据 Progress 的使用位置进行解释。

字段
estimated_work

int64

估算的工作量。

completed_work

int64

已完成的工作量。

RestoreDatabaseMetadata

来自 [RestoreDatabase][google.firestore.admin.v1.RestoreDatabase] 请求的 long-running operation 元数据。

字段
start_time

Timestamp

恢复的开始时间。

end_time

Timestamp

恢复完成的时间,对于正在进行的恢复操作,取消设置。

operation_state

OperationState

恢复的操作状态。

database

string

要恢复到的数据库的名称。

backup

string

从中恢复的备份的名称。

progress_percentage

Progress

恢复所经历的时间,以预估的剩余时间百分比表示。

RestoreDatabaseRequest

[FirestoreAdmin.RestoreDatabase][google.firestore.admin.v1.RestoreDatabase] 的请求消息。

字段
parent

string

必需。要在其中恢复数据库的项目。格式为 projects/{project_id}

database_id

string

必需。要用于数据库的 ID,该 ID 将成为数据库资源名称的最后一个组成部分。此数据库 ID 不得与现有数据库关联。

此值应为 4-63 个字符。有效字符为 /[a-z][0-9]-/,其中第一个字符是一个字母,最后一个字符是一个字母或数字。不得为类似 UUID 的 /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/。

“(默认)”数据库 ID 也有效。

联合字段 source

source 只能是下列其中一项:

backup

string

要从中恢复的备份。必须与父级属于同一项目。

格式为:projects/{project_id}/locations/{location}/backups/{backup}

UpdateBackupScheduleRequest 的请求

FirestoreAdmin.UpdateBackupSchedule 的请求。

字段
backup_schedule

BackupSchedule

必需。要更新的备份时间表。

update_mask

FieldMask

要更新的字段列表。

UpdateDatabaseMetadata

此类型没有字段。

与更新数据库操作相关的元数据。

UpdateDatabaseRequest 类中的方法

FirestoreAdmin.UpdateDatabase 的请求。

字段
database

Database

必需。要更新的数据库。

update_mask

FieldMask

要更新的字段列表。

UpdateFieldRequest 类中的方法

FirestoreAdmin.UpdateField 的请求。

字段
field

Field

必需。要更新的字段。

update_mask

FieldMask

相对于字段的掩码。指定后,只有此字段中的 field_mask 指定的配置才会更新。

每周重复

表示在一周中的指定日期运行的周期性时间表。

时区为世界协调时间 (UTC)。

字段
day

DayOfWeek

星期几。

不允许 DAY_OF_WEEK_UNSPECIFIED。