public class FirestoreAdminClient implements BackgroundResource
Service Description: The Cloud Firestore Admin API.
This API provides several administrative services for Cloud Firestore.
Project, Database, Namespace, Collection, Collection Group, and Document are used as defined in the Google Cloud Firestore API.
Operation: An Operation represents work being performed in the background.
The index service manages Cloud Firestore indexes.
Index creation is performed asynchronously. An Operation resource is created for each such asynchronous operation. The state of the operation (including any errors encountered) may be queried via the Operation resource.
The Operations collection provides a record of actions performed for the specified Project (including any Operations in progress). Operations are not created directly but through calls on other collections or resources.
An Operation that is done may be deleted so that it is no longer listed as part of the
Operation collection. Operations are garbage collected after 30 days. By default, ListOperations
will only return in progress and failed operations. To list completed operation, issue a
ListOperations request with the filter done: true
.
Operations are created by service FirestoreAdmin
, but are accessed via service
google.longrunning.Operations
.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
IndexName name = IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]");
Index response = firestoreAdminClient.getIndex(name);
}
Note: close() needs to be called on the FirestoreAdminClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of FirestoreAdminSettings to create(). For example:
To customize credentials:
FirestoreAdminSettings firestoreAdminSettings =
FirestoreAdminSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create(firestoreAdminSettings);
To customize the endpoint:
FirestoreAdminSettings firestoreAdminSettings =
FirestoreAdminSettings.newBuilder().setEndpoint(myEndpoint).build();
FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create(firestoreAdminSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final FirestoreAdminClient create()
Constructs an instance of FirestoreAdminClient with default settings.
Type | Description |
FirestoreAdminClient |
Type | Description |
IOException |
create(FirestoreAdminSettings settings)
public static final FirestoreAdminClient create(FirestoreAdminSettings settings)
Constructs an instance of FirestoreAdminClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | FirestoreAdminSettings |
Type | Description |
FirestoreAdminClient |
Type | Description |
IOException |
create(FirestoreAdminStub stub)
public static final FirestoreAdminClient create(FirestoreAdminStub stub)
Constructs an instance of FirestoreAdminClient, using the given stub for making calls. This is for advanced usage - prefer using create(FirestoreAdminSettings).
Name | Description |
stub | FirestoreAdminStub |
Type | Description |
FirestoreAdminClient |
Constructors
FirestoreAdminClient(FirestoreAdminSettings settings)
protected FirestoreAdminClient(FirestoreAdminSettings settings)
Constructs an instance of FirestoreAdminClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | FirestoreAdminSettings |
FirestoreAdminClient(FirestoreAdminStub stub)
protected FirestoreAdminClient(FirestoreAdminStub stub)
Name | Description |
stub | FirestoreAdminStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
createIndexAsync(CollectionGroupName parent, Index index)
public final OperationFuture<Index,IndexOperationMetadata> createIndexAsync(CollectionGroupName parent, Index index)
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CollectionGroupName parent =
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]");
Index index = Index.newBuilder().build();
Index response = firestoreAdminClient.createIndexAsync(parent, index).get();
}
Name | Description |
parent | CollectionGroupName Required. A parent name of the form
|
index | Index Required. The composite index to create. |
Type | Description |
OperationFuture<Index,IndexOperationMetadata> |
createIndexAsync(CreateIndexRequest request)
public final OperationFuture<Index,IndexOperationMetadata> createIndexAsync(CreateIndexRequest request)
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CreateIndexRequest request =
CreateIndexRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setIndex(Index.newBuilder().build())
.build();
Index response = firestoreAdminClient.createIndexAsync(request).get();
}
Name | Description |
request | CreateIndexRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Index,IndexOperationMetadata> |
createIndexAsync(String parent, Index index)
public final OperationFuture<Index,IndexOperationMetadata> createIndexAsync(String parent, Index index)
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String parent = CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString();
Index index = Index.newBuilder().build();
Index response = firestoreAdminClient.createIndexAsync(parent, index).get();
}
Name | Description |
parent | String Required. A parent name of the form
|
index | Index Required. The composite index to create. |
Type | Description |
OperationFuture<Index,IndexOperationMetadata> |
createIndexCallable()
public final UnaryCallable<CreateIndexRequest,Operation> createIndexCallable()
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CreateIndexRequest request =
CreateIndexRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setIndex(Index.newBuilder().build())
.build();
ApiFuture<Operation> future = firestoreAdminClient.createIndexCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<CreateIndexRequest,Operation> |
createIndexOperationCallable()
public final OperationCallable<CreateIndexRequest,Index,IndexOperationMetadata> createIndexOperationCallable()
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CreateIndexRequest request =
CreateIndexRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setIndex(Index.newBuilder().build())
.build();
OperationFuture<Index, IndexOperationMetadata> future =
firestoreAdminClient.createIndexOperationCallable().futureCall(request);
// Do something.
Index response = future.get();
}
Type | Description |
OperationCallable<CreateIndexRequest,Index,IndexOperationMetadata> |
deleteIndex(DeleteIndexRequest request)
public final void deleteIndex(DeleteIndexRequest request)
Deletes a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
DeleteIndexRequest request =
DeleteIndexRequest.newBuilder()
.setName(
IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString())
.build();
firestoreAdminClient.deleteIndex(request);
}
Name | Description |
request | DeleteIndexRequest The request object containing all of the parameters for the API call. |
deleteIndex(IndexName name)
public final void deleteIndex(IndexName name)
Deletes a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
IndexName name = IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]");
firestoreAdminClient.deleteIndex(name);
}
Name | Description |
name | IndexName Required. A name of the form
|
deleteIndex(String name)
public final void deleteIndex(String name)
Deletes a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString();
firestoreAdminClient.deleteIndex(name);
}
Name | Description |
name | String Required. A name of the form
|
deleteIndexCallable()
public final UnaryCallable<DeleteIndexRequest,Empty> deleteIndexCallable()
Deletes a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
DeleteIndexRequest request =
DeleteIndexRequest.newBuilder()
.setName(
IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString())
.build();
ApiFuture<Empty> future = firestoreAdminClient.deleteIndexCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteIndexRequest,Empty> |
exportDocumentsAsync(DatabaseName name)
public final OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> exportDocumentsAsync(DatabaseName name)
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.
For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
DatabaseName name = DatabaseName.of("[PROJECT]", "[DATABASE]");
ExportDocumentsResponse response = firestoreAdminClient.exportDocumentsAsync(name).get();
}
Name | Description |
name | DatabaseName Required. Database to export. Should be of the form:
|
Type | Description |
OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> |
exportDocumentsAsync(ExportDocumentsRequest request)
public final OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> exportDocumentsAsync(ExportDocumentsRequest request)
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.
For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ExportDocumentsRequest request =
ExportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setOutputUriPrefix("outputUriPrefix499858205")
.build();
ExportDocumentsResponse response = firestoreAdminClient.exportDocumentsAsync(request).get();
}
Name | Description |
request | ExportDocumentsRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> |
exportDocumentsAsync(String name)
public final OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> exportDocumentsAsync(String name)
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.
For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = DatabaseName.of("[PROJECT]", "[DATABASE]").toString();
ExportDocumentsResponse response = firestoreAdminClient.exportDocumentsAsync(name).get();
}
Name | Description |
name | String Required. Database to export. Should be of the form:
|
Type | Description |
OperationFuture<ExportDocumentsResponse,ExportDocumentsMetadata> |
exportDocumentsCallable()
public final UnaryCallable<ExportDocumentsRequest,Operation> exportDocumentsCallable()
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.
For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ExportDocumentsRequest request =
ExportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setOutputUriPrefix("outputUriPrefix499858205")
.build();
ApiFuture<Operation> future =
firestoreAdminClient.exportDocumentsCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<ExportDocumentsRequest,Operation> |
exportDocumentsOperationCallable()
public final OperationCallable<ExportDocumentsRequest,ExportDocumentsResponse,ExportDocumentsMetadata> exportDocumentsOperationCallable()
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.
For more details on export behavior and output format, refer to: https://cloud.google.com/firestore/docs/manage-data/export-import
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ExportDocumentsRequest request =
ExportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setOutputUriPrefix("outputUriPrefix499858205")
.build();
OperationFuture<ExportDocumentsResponse, ExportDocumentsMetadata> future =
firestoreAdminClient.exportDocumentsOperationCallable().futureCall(request);
// Do something.
ExportDocumentsResponse response = future.get();
}
Type | Description |
OperationCallable<ExportDocumentsRequest,ExportDocumentsResponse,ExportDocumentsMetadata> |
getDatabase(DatabaseName name)
public final Database getDatabase(DatabaseName name)
Gets information about a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
DatabaseName name = DatabaseName.of("[PROJECT]", "[DATABASE]");
Database response = firestoreAdminClient.getDatabase(name);
}
Name | Description |
name | DatabaseName Required. A name of the form |
Type | Description |
Database |
getDatabase(GetDatabaseRequest request)
public final Database getDatabase(GetDatabaseRequest request)
Gets information about a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetDatabaseRequest request =
GetDatabaseRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.build();
Database response = firestoreAdminClient.getDatabase(request);
}
Name | Description |
request | GetDatabaseRequest The request object containing all of the parameters for the API call. |
Type | Description |
Database |
getDatabase(String name)
public final Database getDatabase(String name)
Gets information about a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = DatabaseName.of("[PROJECT]", "[DATABASE]").toString();
Database response = firestoreAdminClient.getDatabase(name);
}
Name | Description |
name | String Required. A name of the form |
Type | Description |
Database |
getDatabaseCallable()
public final UnaryCallable<GetDatabaseRequest,Database> getDatabaseCallable()
Gets information about a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetDatabaseRequest request =
GetDatabaseRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.build();
ApiFuture<Database> future = firestoreAdminClient.getDatabaseCallable().futureCall(request);
// Do something.
Database response = future.get();
}
Type | Description |
UnaryCallable<GetDatabaseRequest,Database> |
getField(FieldName name)
public final Field getField(FieldName name)
Gets the metadata and configuration for a Field.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
FieldName name = FieldName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[FIELD]");
Field response = firestoreAdminClient.getField(name);
}
Name | Description |
name | FieldName Required. A name of the form
|
Type | Description |
Field |
getField(GetFieldRequest request)
public final Field getField(GetFieldRequest request)
Gets the metadata and configuration for a Field.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetFieldRequest request =
GetFieldRequest.newBuilder()
.setName(
FieldName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[FIELD]").toString())
.build();
Field response = firestoreAdminClient.getField(request);
}
Name | Description |
request | GetFieldRequest The request object containing all of the parameters for the API call. |
Type | Description |
Field |
getField(String name)
public final Field getField(String name)
Gets the metadata and configuration for a Field.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = FieldName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[FIELD]").toString();
Field response = firestoreAdminClient.getField(name);
}
Name | Description |
name | String Required. A name of the form
|
Type | Description |
Field |
getFieldCallable()
public final UnaryCallable<GetFieldRequest,Field> getFieldCallable()
Gets the metadata and configuration for a Field.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetFieldRequest request =
GetFieldRequest.newBuilder()
.setName(
FieldName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[FIELD]").toString())
.build();
ApiFuture<Field> future = firestoreAdminClient.getFieldCallable().futureCall(request);
// Do something.
Field response = future.get();
}
Type | Description |
UnaryCallable<GetFieldRequest,Field> |
getIndex(GetIndexRequest request)
public final Index getIndex(GetIndexRequest request)
Gets a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetIndexRequest request =
GetIndexRequest.newBuilder()
.setName(
IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString())
.build();
Index response = firestoreAdminClient.getIndex(request);
}
Name | Description |
request | GetIndexRequest The request object containing all of the parameters for the API call. |
Type | Description |
Index |
getIndex(IndexName name)
public final Index getIndex(IndexName name)
Gets a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
IndexName name = IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]");
Index response = firestoreAdminClient.getIndex(name);
}
Name | Description |
name | IndexName Required. A name of the form
|
Type | Description |
Index |
getIndex(String name)
public final Index getIndex(String name)
Gets a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString();
Index response = firestoreAdminClient.getIndex(name);
}
Name | Description |
name | String Required. A name of the form
|
Type | Description |
Index |
getIndexCallable()
public final UnaryCallable<GetIndexRequest,Index> getIndexCallable()
Gets a composite index.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
GetIndexRequest request =
GetIndexRequest.newBuilder()
.setName(
IndexName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]", "[INDEX]").toString())
.build();
ApiFuture<Index> future = firestoreAdminClient.getIndexCallable().futureCall(request);
// Do something.
Index response = future.get();
}
Type | Description |
UnaryCallable<GetIndexRequest,Index> |
getOperationsClient()
public final OperationsClient getOperationsClient()
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
Type | Description |
OperationsClient |
getSettings()
public final FirestoreAdminSettings getSettings()
Type | Description |
FirestoreAdminSettings |
getStub()
public FirestoreAdminStub getStub()
Type | Description |
FirestoreAdminStub |
importDocumentsAsync(DatabaseName name)
public final OperationFuture<Empty,ImportDocumentsMetadata> importDocumentsAsync(DatabaseName name)
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.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
DatabaseName name = DatabaseName.of("[PROJECT]", "[DATABASE]");
firestoreAdminClient.importDocumentsAsync(name).get();
}
Name | Description |
name | DatabaseName Required. Database to import into. Should be of the form:
|
Type | Description |
OperationFuture<Empty,ImportDocumentsMetadata> |
importDocumentsAsync(ImportDocumentsRequest request)
public final OperationFuture<Empty,ImportDocumentsMetadata> importDocumentsAsync(ImportDocumentsRequest request)
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.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ImportDocumentsRequest request =
ImportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setInputUriPrefix("inputUriPrefix-97481100")
.build();
firestoreAdminClient.importDocumentsAsync(request).get();
}
Name | Description |
request | ImportDocumentsRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Empty,ImportDocumentsMetadata> |
importDocumentsAsync(String name)
public final OperationFuture<Empty,ImportDocumentsMetadata> importDocumentsAsync(String name)
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.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String name = DatabaseName.of("[PROJECT]", "[DATABASE]").toString();
firestoreAdminClient.importDocumentsAsync(name).get();
}
Name | Description |
name | String Required. Database to import into. Should be of the form:
|
Type | Description |
OperationFuture<Empty,ImportDocumentsMetadata> |
importDocumentsCallable()
public final UnaryCallable<ImportDocumentsRequest,Operation> importDocumentsCallable()
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.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ImportDocumentsRequest request =
ImportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setInputUriPrefix("inputUriPrefix-97481100")
.build();
ApiFuture<Operation> future =
firestoreAdminClient.importDocumentsCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<ImportDocumentsRequest,Operation> |
importDocumentsOperationCallable()
public final OperationCallable<ImportDocumentsRequest,Empty,ImportDocumentsMetadata> importDocumentsOperationCallable()
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.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ImportDocumentsRequest request =
ImportDocumentsRequest.newBuilder()
.setName(DatabaseName.of("[PROJECT]", "[DATABASE]").toString())
.addAllCollectionIds(new ArrayList<String>())
.setInputUriPrefix("inputUriPrefix-97481100")
.build();
OperationFuture<Empty, ImportDocumentsMetadata> future =
firestoreAdminClient.importDocumentsOperationCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
OperationCallable<ImportDocumentsRequest,Empty,ImportDocumentsMetadata> |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listDatabases(ListDatabasesRequest request)
public final ListDatabasesResponse listDatabases(ListDatabasesRequest request)
List all the databases in the project.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListDatabasesRequest request =
ListDatabasesRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.build();
ListDatabasesResponse response = firestoreAdminClient.listDatabases(request);
}
Name | Description |
request | ListDatabasesRequest The request object containing all of the parameters for the API call. |
Type | Description |
ListDatabasesResponse |
listDatabases(ProjectName parent)
public final ListDatabasesResponse listDatabases(ProjectName parent)
List all the databases in the project.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
ListDatabasesResponse response = firestoreAdminClient.listDatabases(parent);
}
Name | Description |
parent | ProjectName Required. A parent name of the form |
Type | Description |
ListDatabasesResponse |
listDatabases(String parent)
public final ListDatabasesResponse listDatabases(String parent)
List all the databases in the project.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
ListDatabasesResponse response = firestoreAdminClient.listDatabases(parent);
}
Name | Description |
parent | String Required. A parent name of the form |
Type | Description |
ListDatabasesResponse |
listDatabasesCallable()
public final UnaryCallable<ListDatabasesRequest,ListDatabasesResponse> listDatabasesCallable()
List all the databases in the project.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListDatabasesRequest request =
ListDatabasesRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.build();
ApiFuture<ListDatabasesResponse> future =
firestoreAdminClient.listDatabasesCallable().futureCall(request);
// Do something.
ListDatabasesResponse response = future.get();
}
Type | Description |
UnaryCallable<ListDatabasesRequest,ListDatabasesResponse> |
listFields(CollectionGroupName parent)
public final FirestoreAdminClient.ListFieldsPagedResponse listFields(CollectionGroupName parent)
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields
only supports listing fields that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the
filter set to indexConfig.usesAncestorConfig:false
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CollectionGroupName parent =
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]");
for (Field element : firestoreAdminClient.listFields(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | CollectionGroupName Required. A parent name of the form
|
Type | Description |
FirestoreAdminClient.ListFieldsPagedResponse |
listFields(ListFieldsRequest request)
public final FirestoreAdminClient.ListFieldsPagedResponse listFields(ListFieldsRequest request)
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields
only supports listing fields that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the
filter set to indexConfig.usesAncestorConfig:false
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListFieldsRequest request =
ListFieldsRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Field element : firestoreAdminClient.listFields(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListFieldsRequest The request object containing all of the parameters for the API call. |
Type | Description |
FirestoreAdminClient.ListFieldsPagedResponse |
listFields(String parent)
public final FirestoreAdminClient.ListFieldsPagedResponse listFields(String parent)
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields
only supports listing fields that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the
filter set to indexConfig.usesAncestorConfig:false
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String parent = CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString();
for (Field element : firestoreAdminClient.listFields(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. A parent name of the form
|
Type | Description |
FirestoreAdminClient.ListFieldsPagedResponse |
listFieldsCallable()
public final UnaryCallable<ListFieldsRequest,ListFieldsResponse> listFieldsCallable()
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields
only supports listing fields that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the
filter set to indexConfig.usesAncestorConfig:false
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListFieldsRequest request =
ListFieldsRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListFieldsResponse response = firestoreAdminClient.listFieldsCallable().call(request);
for (Field element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListFieldsRequest,ListFieldsResponse> |
listFieldsPagedCallable()
public final UnaryCallable<ListFieldsRequest,FirestoreAdminClient.ListFieldsPagedResponse> listFieldsPagedCallable()
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields
only supports listing fields that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the
filter set to indexConfig.usesAncestorConfig:false
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListFieldsRequest request =
ListFieldsRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Field> future = firestoreAdminClient.listFieldsPagedCallable().futureCall(request);
// Do something.
for (Field element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListFieldsRequest,ListFieldsPagedResponse> |
listIndexes(CollectionGroupName parent)
public final FirestoreAdminClient.ListIndexesPagedResponse listIndexes(CollectionGroupName parent)
Lists composite indexes.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
CollectionGroupName parent =
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]");
for (Index element : firestoreAdminClient.listIndexes(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | CollectionGroupName Required. A parent name of the form
|
Type | Description |
FirestoreAdminClient.ListIndexesPagedResponse |
listIndexes(ListIndexesRequest request)
public final FirestoreAdminClient.ListIndexesPagedResponse listIndexes(ListIndexesRequest request)
Lists composite indexes.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListIndexesRequest request =
ListIndexesRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Index element : firestoreAdminClient.listIndexes(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListIndexesRequest The request object containing all of the parameters for the API call. |
Type | Description |
FirestoreAdminClient.ListIndexesPagedResponse |
listIndexes(String parent)
public final FirestoreAdminClient.ListIndexesPagedResponse listIndexes(String parent)
Lists composite indexes.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
String parent = CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString();
for (Index element : firestoreAdminClient.listIndexes(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. A parent name of the form
|
Type | Description |
FirestoreAdminClient.ListIndexesPagedResponse |
listIndexesCallable()
public final UnaryCallable<ListIndexesRequest,ListIndexesResponse> listIndexesCallable()
Lists composite indexes.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListIndexesRequest request =
ListIndexesRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListIndexesResponse response = firestoreAdminClient.listIndexesCallable().call(request);
for (Index element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListIndexesRequest,ListIndexesResponse> |
listIndexesPagedCallable()
public final UnaryCallable<ListIndexesRequest,FirestoreAdminClient.ListIndexesPagedResponse> listIndexesPagedCallable()
Lists composite indexes.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
ListIndexesRequest request =
ListIndexesRequest.newBuilder()
.setParent(
CollectionGroupName.of("[PROJECT]", "[DATABASE]", "[COLLECTION]").toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Index> future = firestoreAdminClient.listIndexesPagedCallable().futureCall(request);
// Do something.
for (Index element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListIndexesRequest,ListIndexesPagedResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
updateDatabaseAsync(Database database, FieldMask updateMask)
public final OperationFuture<Database,UpdateDatabaseMetadata> updateDatabaseAsync(Database database, FieldMask updateMask)
Updates a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
Database database = Database.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
Database response = firestoreAdminClient.updateDatabaseAsync(database, updateMask).get();
}
Name | Description |
database | Database Required. The database to update. |
updateMask | FieldMask The list of fields to be updated. |
Type | Description |
OperationFuture<Database,UpdateDatabaseMetadata> |
updateDatabaseAsync(UpdateDatabaseRequest request)
public final OperationFuture<Database,UpdateDatabaseMetadata> updateDatabaseAsync(UpdateDatabaseRequest request)
Updates a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateDatabaseRequest request =
UpdateDatabaseRequest.newBuilder()
.setDatabase(Database.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Database response = firestoreAdminClient.updateDatabaseAsync(request).get();
}
Name | Description |
request | UpdateDatabaseRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Database,UpdateDatabaseMetadata> |
updateDatabaseCallable()
public final UnaryCallable<UpdateDatabaseRequest,Operation> updateDatabaseCallable()
Updates a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateDatabaseRequest request =
UpdateDatabaseRequest.newBuilder()
.setDatabase(Database.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Operation> future =
firestoreAdminClient.updateDatabaseCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<UpdateDatabaseRequest,Operation> |
updateDatabaseOperationCallable()
public final OperationCallable<UpdateDatabaseRequest,Database,UpdateDatabaseMetadata> updateDatabaseOperationCallable()
Updates a database.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateDatabaseRequest request =
UpdateDatabaseRequest.newBuilder()
.setDatabase(Database.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
OperationFuture<Database, UpdateDatabaseMetadata> future =
firestoreAdminClient.updateDatabaseOperationCallable().futureCall(request);
// Do something.
Database response = future.get();
}
Type | Description |
OperationCallable<UpdateDatabaseRequest,Database,UpdateDatabaseMetadata> |
updateFieldAsync(Field field)
public final OperationFuture<Field,FieldOperationMetadata> updateFieldAsync(Field field)
Updates a field configuration. Currently, field updates apply only to single field index
configuration. However, calls to
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 which may be used to track the status of the field update. The metadata for the operation will be the type 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/*
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
Field field = Field.newBuilder().build();
Field response = firestoreAdminClient.updateFieldAsync(field).get();
}
Name | Description |
field | Field Required. The field to be updated. |
Type | Description |
OperationFuture<Field,FieldOperationMetadata> |
updateFieldAsync(UpdateFieldRequest request)
public final OperationFuture<Field,FieldOperationMetadata> updateFieldAsync(UpdateFieldRequest request)
Updates a field configuration. Currently, field updates apply only to single field index
configuration. However, calls to
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 which may be used to track the status of the field update. The metadata for the operation will be the type 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/*
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateFieldRequest request =
UpdateFieldRequest.newBuilder()
.setField(Field.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Field response = firestoreAdminClient.updateFieldAsync(request).get();
}
Name | Description |
request | UpdateFieldRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Field,FieldOperationMetadata> |
updateFieldCallable()
public final UnaryCallable<UpdateFieldRequest,Operation> updateFieldCallable()
Updates a field configuration. Currently, field updates apply only to single field index
configuration. However, calls to
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 which may be used to track the status of the field update. The metadata for the operation will be the type 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/*
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateFieldRequest request =
UpdateFieldRequest.newBuilder()
.setField(Field.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Operation> future = firestoreAdminClient.updateFieldCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<UpdateFieldRequest,Operation> |
updateFieldOperationCallable()
public final OperationCallable<UpdateFieldRequest,Field,FieldOperationMetadata> updateFieldOperationCallable()
Updates a field configuration. Currently, field updates apply only to single field index
configuration. However, calls to
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 which may be used to track the status of the field update. The metadata for the operation will be the type 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/*
.
Sample code:
try (FirestoreAdminClient firestoreAdminClient = FirestoreAdminClient.create()) {
UpdateFieldRequest request =
UpdateFieldRequest.newBuilder()
.setField(Field.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
OperationFuture<Field, FieldOperationMetadata> future =
firestoreAdminClient.updateFieldOperationCallable().futureCall(request);
// Do something.
Field response = future.get();
}
Type | Description |
OperationCallable<UpdateFieldRequest,Field,FieldOperationMetadata> |