Class MutationsBatcherAsync (2.24.0)

MutationsBatcherAsync(
    table: TableAsync,
    *,
    flush_interval: float | None = 5,
    flush_limit_mutation_count: int | None = 1000,
    flush_limit_bytes: int = 20971520,
    flow_control_max_mutation_count: int = 100000,
    flow_control_max_bytes: int = 104857600,
    batch_operation_timeout: float | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS,
    batch_attempt_timeout: float | None | TABLE_DEFAULT = TABLE_DEFAULT.MUTATE_ROWS,
    batch_retryable_errors: (
        Sequence[type[Exception]] | TABLE_DEFAULT
    ) = TABLE_DEFAULT.MUTATE_ROWS
)

Allows users to send batches using context manager API:

Runs mutate_row, mutate_rows, and check_and_mutate_row internally, combining to use as few network requests as required

Will automatically flush the batcher:

  • every flush_interval seconds
  • after queue size reaches flush_limit_mutation_count
  • after queue reaches flush_limit_bytes
  • when batcher is closed or destroyed

Methods

__aenter__

__aenter__()

Allow use of context manager API

__aexit__

__aexit__(exc_type, exc, tb)

Allow use of context manager API.

Flushes the batcher and cleans up resources.

append

append(mutation_entry: google.cloud.bigtable.data.mutations.RowMutationEntry)

Add a new set of mutations to the internal queue

Exceptions
Type Description
RuntimeError if batcher is closed
ValueError if an invalid mutation type is added

close

close()

Flush queue and clean up resources