NATS Produce

NATS Produce

Certified

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.

yaml
type: io.kestra.plugin.nats.core.Produce

Produce a single message to kestra.publish subject, using user password authentication.

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

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

yaml
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

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 kestra for internal storage files, file for host local files, and nsfile for namespace files.
  • A JSON String that will then be serialized either as a single item or a list of items.
Min length1

Subject to publish to

Rendered subject or wildcard where messages are sent.

Min length1

URL 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 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.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset 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.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Credentials files authentification

Plaintext authentication password

Token authentification

Plaintext authentication username

Messages produced

Total messages published during this run.