Trigger Trigger

yaml
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

yaml
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?