def get_index(project_id, index_id): """Gets an index.""" # project_id := "my-project-id" # index_id := "my-index" client = DatastoreAdminClient() index = client.get_index({"project_id": project_id, "index_id": index_id}) print("Got index: %v\n", index.index_id) return index
def list_indexes(project_id): """Lists the indexes.""" # project_id := "my-project-id" client = DatastoreAdminClient() indexes = [] for index in client.list_indexes({"project_id": project_id}): indexes.append(index) print("Got index: %v\n", index.index_id) print("Got list of indexes\n") return indexes
def import_entities(project_id, input_url): """Imports entities into Datastore.""" # project_id := "project-id" # input_url := "gs://bucket-name/overall-export-metadata-file" client = DatastoreAdminClient() op = client.import_entities( {"project_id": project_id, "input_url": input_url} ) response = op.result(timeout=300) print("Entities were imported\n") return response
def export_entities(project_id, output_url_prefix): """ Exports a copy of all or a subset of entities from Datastore to another storage system, such as Cloud Storage. """ # project_id = "project-id" # output_url_prefix = "gs://bucket-name" client = DatastoreAdminClient() op = client.export_entities( {"project_id": project_id, "output_url_prefix": output_url_prefix} ) response = op.result(timeout=300) print("Entities were exported\n") return response
def client_create(): """Creates a new Datastore admin client.""" client = DatastoreAdminClient() print("Admin client created\n") return client