Produce messages in a NATS subject on a NATS server.

yaml
type: "io.kestra.plugin.nats.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.Produce
    url: nats://localhost:4222
    username: nats_user
    password: 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.Produce
    url: nats://localhost:4222
    username: nats_user
    password: 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.Produce
    url: nats://localhost:4222
    username: nats_user
    password: nats_password
    subject: kestra.publish
    from: "{{ outputs.some_task_with_output_file.uri }}"
Properties

Source of message(s) to send

Can be an internal storage uri, a map or a list.with the following format: headers, data

Min length 1

Subject to produce message to

Min length 1

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

Credentials files authentification

Plaintext authentication password

Token authentification

Plaintext authentication username

Number of messages produced