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 theinstance_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
console:
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 .