Package google.firestore.admin.v1beta2

Индекс

Администратор Firestore

Операции создаются службой FirestoreAdmin , но доступ к ним осуществляется через службу google.longrunning.Operations .

Создатьиндекс

rpc CreateIndex( CreateIndexRequest ) returns ( Operation )

Создает составной индекс. Это возвращает google.longrunning.Operation , который можно использовать для отслеживания статуса создания. Метаданные операции будут иметь тип IndexOperationMetadata .

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .

Удалитьиндекс

rpc DeleteIndex( DeleteIndexRequest ) returns ( Empty )

Удаляет составной индекс.

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .

Экспорт документов

rpc ExportDocuments( ExportDocumentsRequest ) returns ( Operation )

Экспортирует копию всех документов или их части из Google Cloud Firestore в другую систему хранения, например Google Cloud Storage. Недавние обновления документов могут не быть отражены при экспорте. Экспорт происходит в фоновом режиме, и его ход можно отслеживать и управлять с помощью созданного ресурса Operation. Вывод экспорта можно использовать только после завершения соответствующей операции. Если операция экспорта отменена до завершения, в облачном хранилище Google могут остаться частичные данные.

Области авторизации

Требуется одна из следующих областей 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

Для получения дополнительной информации см. Обзор аутентификации .

Импорт документов

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

Для получения дополнительной информации см. Обзор аутентификации .

Список полей

rpc ListFields( ListFieldsRequest ) returns ( ListFieldsResponse )

Перечисляет конфигурацию полей и метаданные для этой базы данных.

В настоящее время FirestoreAdmin.ListFields поддерживает только те поля списка, которые были явно переопределены. Чтобы выполнить этот запрос, вызовите FirestoreAdmin.ListFields с фильтром, установленным на indexConfig.usesAncestorConfig:false .

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .

ЛистИндексес

rpc ListIndexes( ListIndexesRequest ) returns ( ListIndexesResponse )

Перечисляет составные индексы.

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .

Обновить поле

rpc UpdateField( UpdateFieldRequest ) returns ( Operation )

Обновляет конфигурацию поля. В настоящее время обновления полей применяются только к конфигурации индекса с одним полем. Однако вызовы FirestoreAdmin.UpdateField должны предоставлять маску поля, чтобы избежать изменения любой конфигурации, о которой вызывающая сторона не знает. Маска поля должна быть указана как: { paths: "index_config" } .

Этот вызов возвращает google.longrunning.Operation , который можно использовать для отслеживания статуса обновления поля. Метаданные для операции будут иметь тип FieldOperationMetadata .

Чтобы настроить параметры поля по умолчанию для базы данных, используйте специальное Field с именем ресурса: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* .

Области авторизации

Требуется одна из следующих областей OAuth:

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

Для получения дополнительной информации см. Обзор аутентификации .

CreateIndexRequest

Запрос FirestoreAdmin.CreateIndex .

Поля
parent

string

Родительское имя формы projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

index

Index

Составной индекс, который нужно создать.

Удалитьиндексрекуест

Запрос FirestoreAdmin.DeleteIndex .

Поля
name

string

Имя формы projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}

ЭкспортДокументыМетаданные

Метаданные для google.longrunning.Operation results из FirestoreAdmin.ExportDocuments .

Поля
start_time

Timestamp

Время начала этой операции.

end_time

Timestamp

Время завершения этой операции. Будет отключено, если операция еще продолжается.

operation_state

OperationState

Состояние экспортной операции.

progress_documents

Progress

Ход этой операции в документах.

progress_bytes

Progress

Ход выполнения этой операции в байтах.

collection_ids[]

string

Идентификаторы каких коллекций экспортируются.

output_uri_prefix

string

Куда экспортируются сущности.

ЭкспортДокументыЗапрос

Запрос FirestoreAdmin.ExportDocuments .

Поля
name

string

База данных для экспорта. Должно иметь форму: projects/{project_id}/databases/{database_id} .

collection_ids[]

string

Идентификаторы каких коллекций экспортировать. Не указано означает все коллекции.

output_uri_prefix

string

Выходной URI. В настоящее время поддерживаются только URI Google Cloud Storage в форме: 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 представляет собой сегмент (без пути в пространстве имен), префикс будет создан на основе времени начала.

ЭкспортДокументыОтвет

Возвращается в поле ответа google.longrunning.Operation .

Поля
output_uri_prefix

string

Расположение выходных файлов. Это можно использовать для начала импорта в Cloud Firestore (этот проект или другой проект) после успешного завершения операции.

Поле

Представляет одно поле в базе данных.

Поля сгруппированы по «Группе коллекций», которая представляет все коллекции в базе данных с одним и тем же идентификатором.

Поля
name

string

Имя поля формы projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

Путь к полю может представлять собой простое имя поля, например, address , или путь к полям в пределах карты_значение, например, 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.

Примеры: (Примечание: комментарии здесь написаны с использованием синтаксиса уценки, поэтому существует дополнительный слой обратных кавычек для представления блока кода) \ address.city` represents a field named Address.city , not the map key in the field адрес . `*` represents a field named *`, а не любое поле.

Специальное Field содержит настройки индексации по умолчанию для всех полей. Имя ресурса этого поля: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* Индексы, определенные в этом Field , будут применяться ко всем полям, которые не имеют собственной конфигурации индекса Field .

index_config

IndexConfig

Конфигурация индекса для этого поля. Если значение не установлено, индексация полей вернется к конфигурации, определенной параметром ancestor_field . Чтобы явно удалить все индексы для этого поля, укажите конфигурацию индекса с пустым списком индексов.

ИндексКонфиг

Конфигурация индекса для этого поля.

Поля
indexes[]

Index

Индексы, поддерживаемые для этого поля.

uses_ancestor_config

bool

Только вывод. Если установлено значение true, конфигурация индекса Field задается на основе конфигурации, указанной в поле ancestor_field . Если значение равно false, конфигурация индекса Field определяется явно.

ancestor_field

string

Только вывод. Указывает имя ресурса Field , из которого задается конфигурация индекса этого поля (когда uses_ancestor_config имеет значение true) или из которого оно было бы установлено, если бы это поле не имело конфигурации индекса (когда uses_ancestor_config имеет значение false).

reverting

bool

Только вывод. Если установлено значение true, конфигурация индекса Field находится в процессе восстановления. После завершения конфигурация индекса перейдет в то же состояние, что и поле, указанное в ancestor_field , после чего uses_ancestor_config будет иметь true , а reverting будет false .

ПолеОперацияМетаданные

Метаданные для google.longrunning.Operation — результаты FirestoreAdmin.UpdateField .

Поля
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

Состояние операции.

document_progress

Progress

Ход этой операции в документах.

bytes_progress

Progress

Ход выполнения этой операции в байтах.

ИндексКонфигДельта

Информация об изменении конфигурации индекса.

Поля
change_type

ChangeType

Указывает, как изменяется индекс.

index

Index

Индекс изменяется.

Тип изменения

Указывает, как изменяется индекс.

Перечисления
CHANGE_TYPE_UNSPECIFIED Тип изменения не указан и не известен.
ADD Добавляется индекс одного поля.
REMOVE Индекс одного поля удаляется.

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}

Импорт документовМетаданные

Метаданные для google.longrunning.Operation results из FirestoreAdmin.ImportDocuments .

Поля
start_time

Timestamp

Время начала этой операции.

end_time

Timestamp

Время завершения этой операции. Будет отключено, если операция еще продолжается.

operation_state

OperationState

Состояние операции импорта.

progress_documents

Progress

Ход этой операции в документах.

progress_bytes

Progress

Ход выполнения этой операции в байтах.

collection_ids[]

string

Идентификаторы каких коллекций импортируются.

input_uri_prefix

string

Местоположение импортируемых документов.

Запрос импорта документов

Запрос FirestoreAdmin.ImportDocuments .

Поля
name

string

База данных для импорта. Должен иметь форму: projects/{project_id}/databases/{database_id} .

collection_ids[]

string

Идентификаторы каких коллекций импортировать. Не указано — все коллекции, включенные в импорт.

input_uri_prefix

string

Расположение экспортированных файлов. Он должен соответствовать выходному_uri_prefix в ExportDocumentsResponse из успешно завершенного экспорта. См.: google.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_prefix .

Индекс

Индексы Cloud Firestore позволяют выполнять простые и сложные запросы к документам в базе данных.

Поля
name

string

Только вывод. Определенное сервером имя для этого индекса. Форма этого имени для составных индексов будет следующей: projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id} Для индексов с одним полем это поле будет пустым.

query_scope

QueryScope

Индексы с указанной областью запроса коллекции позволяют выполнять запросы к коллекции, которая является дочерней по отношению к определенному документу, указанному во время запроса, и имеет тот же идентификатор коллекции.

Индексы с указанной областью запроса группы коллекций позволяют выполнять запросы ко всем коллекциям, происходящим из определенного документа, указанного во время запроса, и которые имеют тот же идентификатор коллекции, что и этот индекс.

fields[]

IndexField

Поля, поддерживаемые этим индексом.

Для составных индексов это всегда 2 или более полей. Последняя запись поля всегда относится к пути к полю __name__ . Если при создании __name__ не было указано в качестве последнего поля, оно будет добавлено автоматически в том же направлении, что и последнее определенное поле. Если последнее поле в составном индексе не является направленным, __name__ будет упорядочено по возрастанию (если не указано иное).

Для индексов с одним полем это всегда будет ровно одна запись с путем к полю, равным пути к связанному полю.

state

State

Только вывод. Состояние обслуживания индекса.

ИндексФилд

Поле в индексе. Field_path описывает, какое поле индексируется, value_mode описывает, как индексируется значение поля.

Поля
field_path

string

Можно имя . Для индексов с одним полем оно должно совпадать с именем поля или может быть опущено.

Поле объединения value_mode . Как индексируется значение поля. value_mode может быть только одним из следующих:
order

Order

Указывает, что это поле поддерживает упорядочивание по указанному порядку или сравнение с использованием =, <, <=, >, >=.

array_config

ArrayConfig

Указывает, что это поле поддерживает операции с array_value s.

ArrayConfig

Поддерживаемые конфигурации значений массива.

Перечисления
ARRAY_CONFIG_UNSPECIFIED Индекс не поддерживает дополнительные запросы к массиву.
CONTAINS Индекс поддерживает запросы на включение массива.

Заказ

Поддерживаемые заказы.

Перечисления
ORDER_UNSPECIFIED Порядок не указан. Не верный вариант.
ASCENDING Поле упорядочено по возрастанию значения поля.
DESCENDING Поле упорядочено по убыванию значения поля.

Область запроса

Область запроса определяет область, в которой выполняется запрос. Это указывается в поле from структурированного запроса.

Перечисления
QUERY_SCOPE_UNSPECIFIED Область запроса не указана. Не верный вариант.
COLLECTION Индексы с указанной областью запроса коллекции позволяют выполнять запросы к коллекции, которая является дочерней частью определенного документа, указанного во время запроса, и имеет идентификатор коллекции, указанный индексом.
COLLECTION_GROUP Индексы с указанной областью запроса группы коллекций позволяют выполнять запросы ко всем коллекциям, идентификатор которых указан в индексе.

Состояние

Состояние индекса. Во время создания индекса индекс будет находиться в состоянии CREATING . Если индекс создан успешно, он перейдет в состояние READY . Если при создании индекса возникнет проблема, индекс перейдет в состояние NEEDS_REPAIR .

Перечисления
STATE_UNSPECIFIED Состояние не указано.
CREATING Индекс создается. Для индекса выполняется активная длительная операция. Индекс обновляется при написании документа. Могут существовать некоторые индексные данные.
READY Индекс готов к использованию. Индекс обновляется при написании документа. Индекс полностью заполняется из всех сохраненных документов, к которым он применяется.
NEEDS_REPAIR Индекс создавался, но что-то пошло не так. Для индекса нет активных длительных операций, а последняя завершенная длительная операция завершилась неудачно. Индекс не обновляется при написании документа. Могут существовать некоторые индексные данные. Используйте API google.longrunning.Operations, чтобы определить, почему не удалось выполнить последнюю попытку создания этого индекса, а затем создайте индекс заново.

ИндексОперацияМетаданные

Метаданные для google.longrunning.Operation — результаты FirestoreAdmin.CreateIndex .

Поля
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

Ход выполнения этой операции в байтах.

СписокПоляЗапрос

Запрос FirestoreAdmin.ListFields .

Поля
parent

string

Родительское имя формы projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

filter

string

Фильтр, применяемый к результатам списка. В настоящее время FirestoreAdmin.ListFields поддерживает только те поля списка, которые были явно переопределены. Чтобы выполнить этот запрос, вызовите FirestoreAdmin.ListFields с фильтром, установленным на indexConfig.usesAncestorConfig:false .

page_size

int32

Количество возвращаемых результатов.

page_token

string

Токен страницы, возвращенный предыдущим вызовом FirestoreAdmin.ListFields , который можно использовать для получения следующей страницы результатов.

ListFieldsResponse

Ответ для FirestoreAdmin.ListFields .

Поля
fields[]

Field

Запрошенные поля.

next_page_token

string

Токен страницы, который можно использовать для запроса другой страницы результатов. Если пусто, это последняя страница.

Запрос ListIndexes

Запрос FirestoreAdmin.ListIndexes .

Поля
parent

string

Родительское имя формы projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}

filter

string

Фильтр, применяемый к результатам списка.

page_size

int32

Количество возвращаемых результатов.

page_token

string

Токен страницы, возвращенный предыдущим вызовом FirestoreAdmin.ListIndexes , который можно использовать для получения следующей страницы результатов.

ListIndexesResponse

Ответ для FirestoreAdmin.ListIndexes .

Поля
indexes[]

Index

Запрошенные индексы.

next_page_token

string

Токен страницы, который можно использовать для запроса другой страницы результатов. Если пусто, это последняя страница.

Состояние операции

Описывает состояние операции.

Перечисления
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

Объем выполненных работ.

UpdateFieldRequest

Запрос FirestoreAdmin.UpdateField .

Поля
field

Field

Поле, которое необходимо обновить.

update_mask

FieldMask

Маска относительно поля. Если указано, в поле будет обновлена ​​только конфигурация, указанная этой маской поля.