
Apache Pulsar Reader
CertifiedRead messages from Pulsar topics without subscription
Apache Pulsar Reader
Read messages from Pulsar topics without subscription
Uses a non-durable reader to fetch messages without creating a subscription. Defaults: deserializer STRING, poll timeout 2s, starts at earliest unless positioned otherwise.
type: io.kestra.plugin.pulsar.ReaderExamples
id: pulsar_reader
namespace: company.team
tasks:
- id: reader
type: io.kestra.plugin.pulsar.Reader
uri: pulsar://localhost:26650
topic: test_kestra
deserializer: JSON
Properties
deserializer *string
STRINGSTRINGJSONBYTESValue deserializer
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.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150authenticationToken string
Authentication token
Token used when the broker requires token-based auth (e.g., hosted providers).
maxDuration string
Maximum read duration
Soft timeout evaluated each second; stops when exceeded.
maxRecords integerstring
Maximum records before stop
Soft limit evaluated each second; stops after this many messages if set.
messageId string
Start from specific message ID
Reads from the message immediately after the provided ID. Accepts ledger: entry[: partition[: batchIndex]], earliest or latest. If neither since nor messageId is set, starts at earliest.
pollDuration string
PT2SPoll wait duration
Maximum time to wait for a new record when none are immediately available.
schemaString string
Topic schema definition
JSON representation of the topic schema when schema enforcement is enabled.
schemaType string
NONENONEAVROJSONTopic schema type
One of NONE (default, no enforcement), AVRO, or JSON.
since string
Rollback duration for start position
Finds the latest message published before the given duration (e.g., PT5M starts 5 minutes in the past).
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.
Outputs
messagesCount integer
Number of messages consumed
uri string
uriURI of Kestra storage file with consumed messages