MaterializedViewAsync(
client: google.cloud.bigtable.data._async.client.BigtableDataClientAsync,
instance_id: str,
materialized_view_id: str,
app_profile_id: typing.Optional[str] = None,
**kwargs
)Provides read access to a materialized view of a table.
A materialized view is a pre-computed, read-only view over a table, defined by a SQL query. Materialized views support read operations only; mutation methods raise NotImplementedError.
MaterializedView object maintains materialized_view_id and app_profile_id context, and passes them with each call
Methods
MaterializedViewAsync
MaterializedViewAsync(
client: google.cloud.bigtable.data._async.client.BigtableDataClientAsync,
instance_id: str,
materialized_view_id: str,
app_profile_id: typing.Optional[str] = None,
**kwargs
)Initialize a MaterializedView instance
Must be created within an async context (running event loop)
| Exceptions | |
|---|---|
| Type | Description |
RuntimeError |
if called outside of an async context (no running event loop) |
__aenter__
__aenter__()Implement async context manager protocol
Ensure registration task has time to run, so that grpc channels will be warmed for the specified instance
__aexit__
__aexit__(exc_type, exc_val, exc_tb)Implement async context manager protocol
Unregister this instance with the client, so that grpc channels will no longer be warmed
bulk_mutate_rows
bulk_mutate_rows(*args, **kwargs)Mutations are not supported for materialized views
| Exceptions | |
|---|---|
| Type | Description |
NotImplementedError |
always; materialized views are read-only |
check_and_mutate_row
check_and_mutate_row(*args, **kwargs)Mutations are not supported for materialized views
| Exceptions | |
|---|---|
| Type | Description |
NotImplementedError |
always; materialized views are read-only |
close
close()Called to close the Table instance and release any resources held by it.
mutate_row
mutate_row(*args, **kwargs)Mutations are not supported for materialized views
| Exceptions | |
|---|---|
| Type | Description |
NotImplementedError |
always; materialized views are read-only |
mutations_batcher
mutations_batcher(*args, **kwargs)Mutations are not supported for materialized views
| Exceptions | |
|---|---|
| Type | Description |
NotImplementedError |
always; materialized views are read-only |
read_modify_write_row
read_modify_write_row(*args, **kwargs)Mutations are not supported for materialized views
| Exceptions | |
|---|---|
| Type | Description |
NotImplementedError |
always; materialized views are read-only |
read_row
read_row(
row_key: str | bytes,
*,
row_filter: typing.Optional[
google.cloud.bigtable.data.row_filters.RowFilter
] = None,
operation_timeout: (
float | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
attempt_timeout: (
float | None | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
retryable_errors: typing.Union[
typing.Sequence[type[Exception]],
google.cloud.bigtable.data._helpers.TABLE_DEFAULT,
] = TABLE_DEFAULT.READ_ROWS
) -> google.cloud.bigtable.data.row.Row | NoneRead a single row from the table, based on the specified key.
Failed requests within operation_timeout will be retried based on the retryable_errors list until operation_timeout is reached.
| Exceptions | |
|---|---|
| Type | Description |
google.api_core.exceptions.DeadlineExceeded |
raised after operation timeout will be chained with a RetryExceptionGroup containing GoogleAPIError exceptions from any retries that failed |
google.api_core.exceptions.GoogleAPIError |
raised if the request encounters an unrecoverable error |
| Returns | |
|---|---|
| Type | Description |
Row None |
a Row object if the row exists, otherwise None |
read_rows
read_rows(
query: google.cloud.bigtable.data.read_rows_query.ReadRowsQuery,
*,
operation_timeout: (
float | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
attempt_timeout: (
float | None | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
retryable_errors: typing.Union[
typing.Sequence[type[Exception]],
google.cloud.bigtable.data._helpers.TABLE_DEFAULT,
] = TABLE_DEFAULT.READ_ROWS
) -> list[google.cloud.bigtable.data.row.Row]Read a set of rows from the table, based on the specified query. Retruns results as a list of Row objects when the request is complete. For streamed results, use read_rows_stream.
Failed requests within operation_timeout will be retried based on the retryable_errors list until operation_timeout is reached.
| Exceptions | |
|---|---|
| Type | Description |
google.api_core.exceptions.DeadlineExceeded |
raised after operation timeout will be chained with a RetryExceptionGroup containing GoogleAPIError exceptions from any retries that failed |
google.api_core.exceptions.GoogleAPIError |
raised if the request encounters an unrecoverable error |
| Returns | |
|---|---|
| Type | Description |
list[Row] |
a list of Rows returned by the query |
read_rows_sharded
read_rows_sharded(
sharded_query: ShardedQuery,
*,
operation_timeout: float | TABLE_DEFAULT = TABLE_DEFAULT.READ_ROWS,
attempt_timeout: float | None | TABLE_DEFAULT = TABLE_DEFAULT.READ_ROWS,
retryable_errors: (
Sequence[type[Exception]] | TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS
) -> list[Row]Runs a sharded query in parallel, then return the results in a single list. Results will be returned in the order of the input queries.
This function is intended to be run on the results on a query.shard() call. For example::
table_shard_keys = await table.sample_row_keys()
query = ReadRowsQuery(...)
shard_queries = query.shard(table_shard_keys)
results = await table.read_rows_sharded(shard_queries)
| Exceptions | |
|---|---|
| Type | Description |
ShardedReadRowsExceptionGroup |
if any of the queries failed |
ValueError |
if the query_list is empty |
| Returns | |
|---|---|
| Type | Description |
list[Row] |
a list of Rows returned by the query |
read_rows_stream
read_rows_stream(
query: google.cloud.bigtable.data.read_rows_query.ReadRowsQuery,
*,
operation_timeout: (
float | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
attempt_timeout: (
float | None | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
retryable_errors: typing.Union[
typing.Sequence[type[Exception]],
google.cloud.bigtable.data._helpers.TABLE_DEFAULT,
] = TABLE_DEFAULT.READ_ROWS
) -> typing.AsyncIterable[google.cloud.bigtable.data.row.Row]Read a set of rows from the table, based on the specified query. Returns an iterator to asynchronously stream back row data.
Failed requests within operation_timeout will be retried based on the retryable_errors list until operation_timeout is reached.
| Exceptions | |
|---|---|
| Type | Description |
google.api_core.exceptions.DeadlineExceeded |
raised after operation timeout will be chained with a RetryExceptionGroup containing GoogleAPIError exceptions from any retries that failed |
google.api_core.exceptions.GoogleAPIError |
raised if the request encounters an unrecoverable error |
| Returns | |
|---|---|
| Type | Description |
AsyncIterable[Row] |
an asynchronous iterator that yields rows returned by the query |
row_exists
row_exists(
row_key: str | bytes,
*,
operation_timeout: (
float | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
attempt_timeout: (
float | None | google.cloud.bigtable.data._helpers.TABLE_DEFAULT
) = TABLE_DEFAULT.READ_ROWS,
retryable_errors: typing.Union[
typing.Sequence[type[Exception]],
google.cloud.bigtable.data._helpers.TABLE_DEFAULT,
] = TABLE_DEFAULT.READ_ROWS
) -> boolReturn a boolean indicating whether the specified row exists in the table. uses the filters: chain(limit cells per row = 1, strip value)
| Exceptions | |
|---|---|
| Type | Description |
google.api_core.exceptions.DeadlineExceeded |
raised after operation timeout will be chained with a RetryExceptionGroup containing GoogleAPIError exceptions from any retries that failed |
google.api_core.exceptions.GoogleAPIError |
raised if the request encounters an unrecoverable error |
| Returns | |
|---|---|
| Type | Description |
bool |
a bool indicating whether the row exists |
sample_row_keys
sample_row_keys(
*,
row_range: RowRange | None = None,
operation_timeout: float | TABLE_DEFAULT = TABLE_DEFAULT.DEFAULT,
attempt_timeout: float | None | TABLE_DEFAULT = TABLE_DEFAULT.DEFAULT,
retryable_errors: Sequence[type[Exception]] | TABLE_DEFAULT = TABLE_DEFAULT.DEFAULT
) -> RowKeySamplesReturn a set of RowKeySamples that delimit contiguous sections of the table of approximately equal size
RowKeySamples output can be used with ReadRowsQuery.shard() to create a sharded query that can be parallelized across multiple backend nodes read_rows and read_rows_stream requests will call sample_row_keys internally for this purpose when sharding is enabled
RowKeySamples is simply a type alias for list[tuple[bytes, int]]; a list of row_keys, along with offset positions in the table
| Exceptions | |
|---|---|
| Type | Description |
google.api_core.exceptions.DeadlineExceeded |
raised after operation timeout will be chained with a RetryExceptionGroup containing GoogleAPIError exceptions from any retries that failed |
google.api_core.exceptions.GoogleAPIError |
raised if the request encounters an unrecoverable error |
| Returns | |
|---|---|
| Type | Description |
RowKeySamples |
a set of RowKeySamples the delimit contiguous sections of the table |