As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Firestore Admin Client

class google.cloud.firestore_admin_v1.services.firestore_admin.client.FirestoreAdminClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Optional[Union[str, google.cloud.firestore_admin_v1.services.firestore_admin.transports.base.FirestoreAdminTransport]] = None, client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)[source]

Bases: object

Operations are created by service FirestoreAdmin, but are accessed via service google.longrunning.Operations.

Instantiate the firestore admin client.

Parameters
  • credentials (Optional[google.auth.credentials.Credentials]) – The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

  • transport (Union[str, FirestoreAdminTransport]) – The transport to use. If set to None, a transport is chosen automatically.

  • client_options (client_options_lib.ClientOptions) – Custom options for the client. It won’t take effect if a transport instance is provided. (1) The api_endpoint property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT environment variable can also be used to override the endpoint: “always” (always use the default mTLS endpoint), “never” (always use the default regular endpoint) and “auto” (auto switch to the default mTLS endpoint if client certificate is present, this is the default value). However, the api_endpoint property takes precedence if provided. (2) If GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is “true”, then the client_cert_source property can be used to provide client certificate for mutual TLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is “false” or not set, no client certificate will be used.

  • client_info (google.api_core.gapic_v1.client_info.ClientInfo) – The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you’re developing your own client library.

Raises

google.auth.exceptions.MutualTLSChannelError – If mutual TLS transport creation failed for any reason.

create_index(request: google.cloud.firestore_admin_v1.types.firestore_admin.CreateIndexRequest = None, *, parent: str = None, index: google.cloud.firestore_admin_v1.types.index.Index = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ())google.api_core.operation.Operation[source]

Creates a composite index. This returns a [google.longrunning.Operation][google.longrunning.Operation] which may be used to track the status of the creation. The metadata for the operation will be the type [IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata].

Parameters
  • request (CreateIndexRequest) – The request object. The request for [FirestoreAdmin.CreateIndex][google.firestore.admin.v1.FirestoreAdmin.CreateIndex].

  • parent (str) – Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • index (Index) – Required. The composite index to create. This corresponds to the index field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

An object representing a long-running operation.

The result type for the operation will be :class:~.gfa_index.Index: Cloud Firestore indexes enable simple and complex queries against documents in a database.

Return type

Operation

delete_index(request: google.cloud.firestore_admin_v1.types.firestore_admin.DeleteIndexRequest = None, *, name: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ())None[source]

Deletes a composite index.

Parameters
  • request (DeleteIndexRequest) – The request object. The request for [FirestoreAdmin.DeleteIndex][google.firestore.admin.v1.FirestoreAdmin.DeleteIndex].

  • name (str) – Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

export_documents(request: google.cloud.firestore_admin_v1.types.firestore_admin.ExportDocumentsRequest = None, *, name: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ())google.api_core.operation.Operation[source]

Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.

Parameters
  • request (ExportDocumentsRequest) – The request object. The request for [FirestoreAdmin.ExportDocuments][google.firestore.admin.v1.FirestoreAdmin.ExportDocuments].

  • name (str) – Required. Database to export. Should be of the form: projects/{project_id}/databases/{database_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

An object representing a long-running operation.

The result type for the operation will be :class:~.gfa_operation.ExportDocumentsResponse: Returned in the [google.longrunning.Operation][google.longrunning.Operation] response field.

Return type

Operation

static field_path(project: str, database: str, collection: str, field: str)str[source]

Return a fully-qualified field string.

classmethod from_service_account_file(filename: str, *args, **kwargs)[source]

Creates an instance of this client using the provided credentials file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

{@api.name}

classmethod from_service_account_json(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials file.

Parameters
  • filename (str) – The path to the service account private key json file.

  • args – Additional arguments to pass to the constructor.

  • kwargs – Additional arguments to pass to the constructor.

Returns

The constructed client.

Return type

{@api.name}

get_field(request: google.cloud.firestore_admin_v1.types.firestore_admin.GetFieldRequest = None, *, name: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ()) → google.cloud.firestore_admin_v1.types.field.Field[source]

Gets the metadata and configuration for a Field.

Parameters
  • request (GetFieldRequest) – The request object. The request for [FirestoreAdmin.GetField][google.firestore.admin.v1.FirestoreAdmin.GetField].

  • name (str) – Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id} This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

Represents a single field in the database. Fields are grouped by their “Collection Group”, which represent all collections in the database with the same id.

Return type

Field

get_index(request: google.cloud.firestore_admin_v1.types.firestore_admin.GetIndexRequest = None, *, name: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ()) → google.cloud.firestore_admin_v1.types.index.Index[source]

Gets a composite index.

Parameters
  • request (GetIndexRequest) – The request object. The request for [FirestoreAdmin.GetIndex][google.firestore.admin.v1.FirestoreAdmin.GetIndex].

  • name (str) – Required. A name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

Cloud Firestore indexes enable simple and complex queries against documents in a database.

Return type

Index

import_documents(request: google.cloud.firestore_admin_v1.types.firestore_admin.ImportDocumentsRequest = None, *, name: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ())google.api_core.operation.Operation[source]

Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.

Parameters
  • request (ImportDocumentsRequest) – The request object. The request for [FirestoreAdmin.ImportDocuments][google.firestore.admin.v1.FirestoreAdmin.ImportDocuments].

  • name (str) – Required. Database to import into. Should be of the form: projects/{project_id}/databases/{database_id}. This corresponds to the name field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

An object representing a long-running operation.

The result type for the operation will be :class:~.empty.Empty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:

service Foo {
  rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
}

The JSON representation for Empty is empty JSON object {}.

Return type

Operation

static index_path(project: str, database: str, collection: str, index: str)str[source]

Return a fully-qualified index string.

list_fields(request: google.cloud.firestore_admin_v1.types.firestore_admin.ListFieldsRequest = None, *, parent: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ()) → google.cloud.firestore_admin_v1.services.firestore_admin.pagers.ListFieldsPager[source]

Lists the field configuration and metadata for this database.

Currently, [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] only supports listing fields that have been explicitly overridden. To issue this query, call [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] with the filter set to indexConfig.usesAncestorConfig:false.

Parameters
  • request (ListFieldsRequest) – The request object. The request for [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields].

  • parent (str) – Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

The response for [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields].

Iterating over this object will yield results and resolve additional pages automatically.

Return type

ListFieldsPager

list_indexes(request: google.cloud.firestore_admin_v1.types.firestore_admin.ListIndexesRequest = None, *, parent: str = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ()) → google.cloud.firestore_admin_v1.services.firestore_admin.pagers.ListIndexesPager[source]

Lists composite indexes.

Parameters
  • request (ListIndexesRequest) – The request object. The request for [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes].

  • parent (str) – Required. A parent name of the form projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} This corresponds to the parent field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

The response for [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes].

Iterating over this object will yield results and resolve additional pages automatically.

Return type

ListIndexesPager

static parse_field_path(path: str) → Dict[str, str][source]

Parse a field path into its component segments.

static parse_index_path(path: str) → Dict[str, str][source]

Parse a index path into its component segments.

update_field(request: google.cloud.firestore_admin_v1.types.firestore_admin.UpdateFieldRequest = None, *, field: google.cloud.firestore_admin_v1.types.field.Field = None, retry: google.api_core.retry.Retry = <object object>, timeout: float = None, metadata: Sequence[Tuple[str, str]] = ())google.api_core.operation.Operation[source]

Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField] should provide a field mask to avoid changing any configuration that the caller isn’t aware of. The field mask should be specified as: { paths: "index_config" }.

This call returns a [google.longrunning.Operation][google.longrunning.Operation] which may be used to track the status of the field update. The metadata for the operation will be the type [FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata].

To configure the default field settings for the database, use the special Field with resource name: projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*.

Parameters
  • request (UpdateFieldRequest) – The request object. The request for [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField].

  • field (Field) – Required. The field to be updated. This corresponds to the field field on the request instance; if request is provided, this should not be set.

  • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried.

  • timeout (float) – The timeout for this request.

  • metadata (Sequence[Tuple[str, str]]) – Strings which should be sent along with the request as metadata.

Returns

An object representing a long-running operation.

The result type for the operation will be :class:~.gfa_field.Field: Represents a single field in the database.

Fields are grouped by their “Collection Group”, which represent all collections in the database with the same id.

Return type

Operation