Mutations Batcher

class google.cloud.bigtable.data._sync_autogen.mutations_batcher.MutationsBatcher(table: TargetType, *, 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)

Bases: object

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

  • Parameters

    • table – table or autrhorized_view used to preform rpc calls

    • flush_interval – Automatically flush every flush_interval seconds. If None, no time-based flushing is performed.

    • flush_limit_mutation_count – Flush immediately after flush_limit_mutation_count mutations are added across all entries. If None, this limit is ignored.

    • flush_limit_bytes – Flush immediately after flush_limit_bytes bytes are added.

    • flow_control_max_mutation_count – Maximum number of inflight mutations.

    • flow_control_max_bytes – Maximum number of inflight bytes.

    • batch_operation_timeout – timeout for each mutate_rows operation, in seconds. If TABLE_DEFAULT, defaults to the Table’s default_mutate_rows_operation_timeout.

    • batch_attempt_timeout – timeout for each individual request, in seconds. If TABLE_DEFAULT, defaults to the Table’s default_mutate_rows_attempt_timeout. If None, defaults to batch_operation_timeout.

    • batch_retryable_errors – a list of errors that will be retried if encountered. Defaults to the Table’s default_mutate_rows_retryable_errors.

_enter_()

Allow use of context manager API

_exit_(exc_type, exc, tb)

Allow use of context manager API.

Flushes the batcher and cleans up resources.

append(mutation_entry: RowMutationEntry)

Add a new set of mutations to the internal queue

  • Parameters

    mutation_entry – new entry to add to flush queue

  • Raises

close()

Flush queue and clean up resources

property closed(: [bool](https://docs.python.org/3/library/functions.html#bool )

Returns:

  • True if the batcher is closed, False otherwise

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月30日 UTC.