
NATS Produce
CertifiedPublish messages to a NATS subject
NATS Produce
Publish messages to a NATS subject
Publishes one or more messages to the rendered subject using headers and data provided via from. Supports lists, maps, or storage files; flushes before closing and returns the number of messages sent.
type: io.kestra.plugin.nats.core.ProduceExamples
Produce a single message to kestra.publish subject, using user password authentication.
id: nats_produce_single_message
namespace: company.team
tasks:
- id: produce
type: io.kestra.plugin.nats.core.Produce
url: nats://localhost:4222
username: nats_user
password: "{{ secret('NATS_PASSWORD') }}"
subject: kestra.publish
from:
headers:
someHeaderKey: someHeaderValue
data: Some message
Produce 2 messages to kestra.publish subject, using user password authentication.
id: nats_produce_two_messages
namespace: company.team
tasks:
- id: produce
type: io.kestra.plugin.nats.core.Produce
url: nats://localhost:4222
username: nats_user
password: "{{ secret('NATS_PASSWORD') }}"
subject: kestra.publish
from:
- headers:
someHeaderKey: someHeaderValue
data: Some message
- data: Another message
Produce messages (1 / row) from an internal storage file to kestra.publish subject, using user password authentication.
id: nats_produce_messages_from_file
namespace: company.team
tasks:
- id: produce
type: io.kestra.plugin.nats.core.Produce
url: nats://localhost:4222
username: nats_user
password: "{{ secret('NATS_PASSWORD') }}"
subject: kestra.publish
from: "{{ outputs.some_task_with_output_file.uri }}"
Properties
from *stringarrayobject
Structured data items, either as a map, a list of map, a URI, or a JSON string.
Structured data items can be defined in the following ways:
- A single item as a map (a document).
- A list of items as a list of maps (a list of documents).
- A URI, supported schemes are
kestrafor internal storage files,filefor host local files, andnsfilefor namespace files. - A JSON String that will then be serialized either as a single item or a list of items.
subject *string
1Subject to publish to
Rendered subject or wildcard where messages are sent.
url *string
1URL to connect to NATS server
The format is (nats://)server_url: port. You can also provide a connection token like so: nats://token@server_url: port
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
{}1150creds string
Credentials files authentification
password string
Plaintext authentication password
token string
Token authentification
username string
Plaintext authentication username
Outputs
messagesCount integer
Messages produced
Total messages published during this run.