Google Cloud Trigger

Google Cloud Trigger

Certified

Wait for new rows in a Google Cloud Bigtable table and trigger a flow execution

Polls a Bigtable table at the configured interval and triggers a downstream execution when rows matching the configured row key range/prefix are found. As with other Kestra polling triggers, scope the range/prefix to avoid re-triggering on the same rows across polls

yaml
type: io.kestra.plugin.gcp.bigtable.Trigger

React to new Bigtable rows every 5 minutes

yaml
id: bigtable_new_rows_trigger
namespace: company.team

triggers:
  - id: on_new_rows
    type: io.kestra.plugin.gcp.bigtable.Trigger
    projectId: "{{ secret('GCP_PROJECT_ID') }}"
    instanceId: my-instance
    tableId: sensor-readings
    rowKeyPrefix: "device-42#"
    interval: PT5M

tasks:
  - id: process
    type: io.kestra.plugin.core.log.Log
    message: "{{ trigger.rowCount }} new rows detected"
Properties

The Bigtable instance ID

An instance is a container for your tables within a given GCP project

The GCP project ID

The Bigtable table ID to poll

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Only consider cells in this column family newer than the lookback window

When set, only rows with at least one cell in this column family timestamped within the lookback window are returned. Requires lookbackSeconds to also be set

Bigtable emulator host (host: port), for local testing only

When set, the trigger connects to a local Bigtable emulator instead of the real Bigtable service

The GCP service account to impersonate

DefaultPT1M
Formatduration

The interval between polls

Lookback window, in seconds, applied to cell timestamps

When set together with columnFamily, only rows with a cell newer than (now - lookbackSeconds) are returned. This re-fetches anything written within the window on every poll, so keep the window close to the polling interval to avoid duplicate executions

Default1000

The maximum number of rows to return on a single poll

Caps the size of matched rows returned in a single execution to prevent OOM errors

Exclusive end of the row key range to scan

Row key prefix to scope the poll to

Mutually exclusive with rowKeyStart/rowKeyEnd. Scope this narrowly enough (e.g. to a time-bucketed key segment) to avoid matching rows already seen on a previous poll

Inclusive start of the row key range to scan

SubTypestring

The GCP scopes to be used

The GCP service account

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Number of rows matched on this poll

SubTypeobject

The matched rows, each with its row key and cells