
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 *RequiredNon-dynamicstringarrayobject
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 *RequiredNon-dynamicstring
1Subject to publish to
Rendered subject or wildcard where messages are sent.
url *Requiredstring
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
creds string
Credentials files authentification
password string
Plaintext authentication password
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
token string
Token authentification
username string
Plaintext authentication username
Outputs
messagesCount integer
Messages produced
Total messages published during this run.