API documentation for bigtable.data._async.mutations_batcher
module.
Classes
MutationsBatcherAsync
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
Flushes:
- every flush_interval seconds
- after queue reaches flush_count in quantity
- after queue reaches flush_size_bytes in storage size
- when batcher is closed or destroyed
async with table.mutations_batcher() as batcher: for i in range(10): batcher.add(row, mut)