8000 google-cloud-python/docs/bigtable-instance-api.rst at master · objectfox/google-cloud-python · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
135 lines (92 loc) · 5.25 KB

File metadata and controls

135 lines (92 loc) · 5.25 KB

Instance Admin API

After creating a :class:`Client <google.cloud.bigtable.client.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 :meth:`Client.list_instances() <google.cloud.bigtable.client.Client.list_instances>`:

instances = client.list_instances()

Instance Factory

To create a :class:`Instance <google.cloud.bigtable.instance.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 :meth:`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 :meth:`create() <google.cloud.bigtable.instance.Instance.create>`:

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

Check on Current Operation

Note

When modifying a instance (via a CreateInstance request), the Bigtable API will return a long-running operation and a corresponding :class:`Operation <google.cloud.bigtable.instance.Operation>` object will be returned by :meth:`create() <google.cloud.bigtable.instance.Instance.create>`.

You can check if a long-running operation (for a :meth:`create() <google.cloud.bigtable.instance.Instance.create>` has finished by making a GetOperation request with :meth:`Operation.finished() <google.cloud.bigtable.instance.Operation.finished>`:

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

Get metadata for an existing Instance

After creating the instance object, make a GetInstance API request with :meth:`reload() <google.cloud.bigtable.instance.Instance.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 :meth:`update() <google.cloud.bigtable.instance.Instance.update>`:

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

Delete an existing Instance

Make a DeleteInstance API request with :meth:`delete() <google.cloud.bigtable.instance.Instance.delete>`:

instance.delete()

Next Step

Now we go down the hierarchy from :class:`Instance <google.cloud.bigtable.instance.Instance>` to a :class:`Table <google.cloud.bigtable.table.Table>`.

Head next to learn about the :doc:`bigtable-table-api`.

0