
Apache Pulsar RealtimeTrigger
CertifiedTrigger a flow for each Pulsar message
Apache Pulsar RealtimeTrigger
Trigger a flow for each Pulsar message
Consumes messages in real time and emits one execution per message. Use Trigger instead when batching messages over an interval.
type: io.kestra.plugin.pulsar.RealtimeTriggerExamples
Consume a message from a Pulsar topic in real-time.
id: pulsar
namespace: company.team
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "{{ trigger.value }}"
triggers:
- id: realtime_trigger
type: io.kestra.plugin.pulsar.RealtimeTrigger
topic: kestra_trigger
uri: pulsar://localhost:26650
deserializer: JSON
subscriptionName: kestra_trigger_sub
Properties
deserializer *string
STRINGSTRINGJSONBYTESValue deserializer
subscriptionName *string
Subscription name
Identifies the subscription so only unconsumed records for that subscription are fetched.
topic *object
Source topic(s)
Single topic or list of topics to consume.
uri *string
Pulsar service URL
One or more Pulsar protocol URLs, e.g. pulsar://localhost: 6650 or pulsar://host1: 6650,host2: 6651. Use pulsar+ssl:// when enabling TLS.
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
authenticationToken string
Authentication token
Token used when the broker requires token-based auth (e.g., hosted providers).
consumerName string
Consumer name
Optional name reused on reconnects; helps coordinate with broker policies.
consumerProperties object
Consumer properties
Key/value properties applied to the Pulsar consumer builder.
encryptionKey string
Public encryption key
Key used for payload encryption/decryption when the topic is secured.
initialPosition string
EarliestLatestEarliestInitial subscription position
Where to start consuming (default Earliest).
schemaString string
Topic schema definition
JSON schema used when schema enforcement is enabled.
schemaType string
NONENONEAVROJSONTopic schema type
One of NONE (default), AVRO, or JSON.
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
subscriptionType string
ExclusiveExclusiveSharedFailoverKey_SharedSubscription type
Delivery semantics such as Exclusive (default), Shared, or Failover.
tlsOptions
TLS options
Certificate/key material for TLS client authentication. Requires a pulsar+ssl:// URL.
io.kestra.plugin.pulsar.AbstractPulsarConnection-TlsOptions
CA certificate
Base64-encoded PEM of the trusted CA chain.
Client certificate
Base64-encoded PEM content for the client certificate.
Client key
Base64-encoded PEM private key matching the client certificate.
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
eventTime string
date-timeThe message event time
key string
The message key
messageId string
The message id
properties object
The message properties
topic string
The topic the message belongs to
value object
The message value