
Google Cloud Trigger
CertifiedWait for new rows in a Google Cloud Bigtable table and trigger a flow execution
Google Cloud Trigger
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
type: io.kestra.plugin.gcp.bigtable.TriggerExamples
React to new Bigtable rows every 5 minutes
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
instanceId *Requiredstring
The Bigtable instance ID
An instance is a container for your tables within a given GCP project
projectId *Requiredstring
The GCP project ID
tableId *Requiredstring
The Bigtable table ID to poll
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
columnFamily string
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
emulatorHost string
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
impersonatedServiceAccount string
The GCP service account to impersonate
interval Non-dynamicstring
PT1MdurationThe interval between polls
lookbackSeconds integerstring
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
maxRows integerstring
1000The 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
rowKeyEnd string
Exclusive end of the row key range to scan
rowKeyPrefix string
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
rowKeyStart string
Inclusive start of the row key range to scan
scopes array
The GCP scopes to be used
serviceAccount string
The GCP service account
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA 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.
Outputs
rowCount integer
Number of rows matched on this poll
rows array
The matched rows, each with its row key and cells