The v3.0.0 release of google-cloud-bigtable deprecates the previous google.cloud.bigtable.Client class in favor of distinct clients for the two API surfaces, supporting both sync and async calls:
- Data API:
google.cloud.bigtable.data.BigtableDataClientgoogle.cloud.bigtable.data.BigtableDataClientAsync
- Admin API:
google.cloud.bigtable.admin.BigtableInstanceAdminClientgoogle.cloud.bigtable.admin.BigtableInstanceAdminAsyncClientgoogle.cloud.bigtable.admin.BigtableTableAdminClientgoogle.cloud.bigtable.admin.BigtableTableAdminAsyncClient
The deprecated client will remain available as an alternative API surface, which internally delegates calls to the respective new clients. For most users, existing code will continue to work as before. But there may be some breaking changes associated with this update, which are detailed in this document.
We recommend that you instantiate the new admin API clients directly:
from google.cloud.bigtable.admin import (
BigtableInstanceAdminClient,
BigtableInstanceAdminAsyncClient,
BigtableTableAdminClient,
BigtableTableAdminAsyncClient,
)
instance_admin_client = BigtableInstanceAdminClient()
instance_admin_async_client = BigtableInstanceAdminAsyncClient()
table_admin_client = BigtableTableAdminClient()
table_admin_async_client = BigtableTableAdminAsyncClient()
Access to the new admin API sync clients via the google.cloud.bigtable.Client class is also supported for backwards compatibility:
from google.cloud.bigtable import Client
client = Client()
# google.cloud.bigtable.admin.BigtableInstanceAdminClient
instance_admin_client = client.instance_admin_client()
# google.cloud.bigtable.admin.BigtableTableAdminClient
table_admin_client = client.table_admin_client()
- MutationBatcherand MutationBatcherAsync's
tableargument was renamed totarget, since it also supports Authorized View instances. This matches the naming used in other classes (PR: #1153)
BigtableTableAdminClient/BigtableTableAdminAsyncClient's location was changed fromgoogle.cloud.bigtable_admin_v2.services.bigtable_table_admintogoogle.cloud.bigtable_admin_v2.overlay.services.bigtable_table_admin. This should not affect you if you are importing these clients viaimport google.cloud.bigtable_admin_v2due to import aliasing, but will affect you if you are importing these clients viaimport google.cloud.bigtable_admin_v2.services.bigtable_table_admin.