Trigger
type: "io.kestra.plugin.gcp.pubsub.Trigger"
Consume messages periodically from a Pub/Sub topic and create one execution per batch.
If you would like to consume each message from a Pub/Sub topic in real-time and create one execution per message, you can use the io.kestra.plugin.gcp.pubsub.RealtimeTrigger instead.
Examples
id: gcp_trigger
namespace: company.team
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "Received: {{ trigger.data }}"
triggers:
- id: trigger
type: io.kestra.plugin.gcp.pubsub.Trigger
projectId: test-project-id
subscription: test-subscription
topic: test-topic
maxRecords: 10
Properties
serdeType
- Type: string
- Dynamic: ❌
- Required: ✔️
- Default:
STRING
- Possible Values:
STRING
JSON
The serializer/deserializer to use.
topic
- Type: string
- Dynamic: ✔️
- Required: ✔️
The Pub/Sub topic
The Pub/Sub topic. It must be created before executing the task.
autoCreateSubscription
- Type: boolean
- Dynamic: ❌
- Required: ❌
- Default:
true
Whether the Pub/Sub subscription should be created if not exist
conditions
- Type: array
- SubType: Condition
- Dynamic: ❌
- Required: ❌
List of conditions in order to limit the flow trigger.
impersonatedServiceAccount
- Type: string
- Dynamic: ✔️
- Required: ❌
The GCP service account to impersonate.
interval
- Type: string
- Dynamic: ❌
- Required: ❌
- Default:
60.000000000
- Format:
duration
Interval between polling.
The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.
maxDuration
- Type: string
- Dynamic: ❌
- Required: ❌
- Format:
duration
Max duration in the Duration ISO format, after that the task will end.
maxRecords
- Type: integer
- Dynamic: ❌
- Required: ❌
Max number of records, when reached the task will end.
projectId
- Type: string
- Dynamic: ✔️
- Required: ❌
The GCP project ID.
scopes
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
- Default:
[https://www.googleapis.com/auth/cloud-platform]
The GCP scopes to be used.
serviceAccount
- Type: string
- Dynamic: ✔️
- Required: ❌
The GCP service account.
stopAfter
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❌
List of execution states after which a trigger should be stopped (a.k.a. disabled).
subscription
- Type: string
- Dynamic: ✔️
- Required: ❌
The Pub/Sub subscription
The Pub/Sub subscription. It will be created automatically if it didn't exist and 'autoCreateSubscription' is enabled.
Outputs
count
- Type: integer
- Required: ❌
Number of consumed rows.
uri
- Type: string
- Required: ❌
- Format:
uri
File URI containing consumed messages.
Was this page helpful?