Instance Admin API#

After creating a Client, you can interact with individual instances for a project.

List Instances#

If you want a comprehensive list of all existing instances, make a ListInstances API request with Client.list_instances():

instances = client.list_instances()

Instance Factory#

To create an Instance object:

instance = client.instance(instance_id, location_id,
                           display_name=display_name)
  • location_id is the ID of the location in which the instance’s cluster will be hosted, e.g. 'us-central1-c'. location_id is required for instances which do not already exist.
  • display_name is optional. When not provided, display_name defaults to the instance_id value.

You can also use Client.instance() to create a local wrapper for instances that have already been created with the API, or through the web conole:

instance = client.instance(existing_instance_id)
instance.reload()

Create a new Instance#

After creating the instance object, make a CreateInstance API request with create():

instance.display_name = 'My very own instance'
instance.create()

Check on Current Operation#

Note

When modifying an instance (via a CreateInstance request), the Bigtable API will return a long-running operation and a corresponding Operation object will be returned by create().

You can check if a long-running operation (for a create() has finished by making a GetOperation request with Operation.finished():

>>> operation = instance.create()
>>> operation.finished()
True

Note

Once an Operation object has returned True from finished(), the object should not be re-used. Subsequent calls to finished() will result in a ValueError.

Get metadata for an existing Instance#

After creating the instance object, make a GetInstance API request with reload():

instance.reload()

This will load display_name for the existing instance object.

Update an existing Instance#

After creating the instance object, make an UpdateInstance API request with update():

client.display_name = 'New display_name'
instance.update()

Delete an existing Instance#

Make a DeleteInstance API request with delete():

instance.delete()

Next Step#

Now we go down the hierarchy from Instance to a Table.

Head next to learn about the Table Admin API.