Trigger Trigger

yaml
type: "io.kestra.plugin.cassandra.Trigger"

Wait for a query to return results on a Cassandra database.

Examples

Wait for a CQL query to return results, and then iterate through rows.

yaml
id: cassandra-trigger
namespace: io.kestra.tests
tasks:
  - id: each
    type: io.kestra.core.tasks.flows.EachSequential
    tasks:
      - id: return
        type: io.kestra.core.tasks.debugs.Return
        format: "{{ json(taskrun.value) }}"
    value: "{{ trigger.rows }}"

triggers:
  - id: watch
    type: io.kestra.plugin.cassandra.Trigger
    interval: "PT5M"
    session:
       endpoints:
          - hostname: localhost
       username: cassandra_user
       password: cassandra_passwd
    cql: "SELECT * FROM CQL_KEYSPACE.CQL_TABLE"
    fetch: true

Properties

cql

  • Type: string
  • Dynamic:
  • Required: ✔️

CQL query.

session

The session connection properties

conditions

  • Type: array
  • SubType: Condition
  • Dynamic:
  • Required:

List of conditions in order to limit the flow trigger.

fetch

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

Whether to fetch the data from the query result to the task output.

fetchOne

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

Whether to fetch only one data row from the query result to the task output.

interval

  • Type: string
  • Dynamic:
  • Required:
  • Default: 60.000000000
  • Format: duration

Interval between polling.

The interval between 2 different polls of schedule, this can avoid to overload the remote system with too many calls. For most of the triggers that depend on external systems, a minimal interval must be at least PT30S. See ISO_8601 Durations for more information of available interval values.

stopAfter

  • Type: array
  • SubType: string
  • Dynamic:
  • Required:

List of execution states after which a trigger should be stopped (a.k.a. disabled).

store

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

Whether to store the data from the query result into an ion serialized data file.

timeZoneId

  • Type: string
  • Dynamic:
  • Required:

Outputs

bytes

  • Type: integer
  • Dynamic:
  • Required:

The size of the binary response in bytes.

row

  • Type: object
  • Dynamic:
  • Required:

Map containing the first row of fetched data

Only populated if 'fetchOne' parameter is set to true.

rows

  • Type: array
  • SubType: object
  • Dynamic:
  • Required:

Lit of map containing rows of fetched data

Only populated if 'fetch' parameter is set to true.

size

  • Type: integer
  • Dynamic:
  • Required:

The size of the fetched rows

Only populated if 'store' or 'fetch' parameter is set to true.

uri

  • Type: string
  • Dynamic:
  • Required:
  • Format: uri

The url of the result file on kestra storage (.ion file / Amazon Ion text format)

Only populated if 'store' is set to true.

Definitions

io.kestra.plugin.cassandra.CassandraDbSession-Endpoint

Properties

hostname
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min length: 1

The hostname of the Cassandra server.

port
  • Type: integer
  • Dynamic:
  • Required: ✔️
  • Default: 9042

The port of the Cassandra server.

serverName
  • Type: string
  • Dynamic: ✔️
  • Required:

The SNI server name.

In the context of Cloud, this is the string representation of the host ID.

io.kestra.plugin.cassandra.CassandraDbSession

Properties

applicationName
  • Type: string
  • Dynamic: ✔️
  • Required:

The name of the application using the created session.

It will be sent in the STARTUP protocol message, under the key APPLICATION_NAME, for each new connection established by the driver. Currently, this information is used by Insights monitoring (if the target cluster does not support Insights, the entry will be ignored by the server).

endpoints

List of contact endpoints to use for the initial connection to the cluster.

localDatacenter
  • Type: string
  • Dynamic: ✔️
  • Required:

Specifies the datacenter that is considered "local" by the load balancing policy.

password
  • Type: string
  • Dynamic: ✔️
  • Required:

Plaintext authentication password.

username
  • Type: string
  • Dynamic: ✔️
  • Required:

Plaintext authentication username.