ScyllaDB Query

ScyllaDB Query

Certified

Execute a CQL query in ScyllaDB

Executes one SELECT statement. FETCH loads all result pages into memory; use STORE for large results. UUIDs and temporal values are strings, blobs are base64 strings, tuples are lists, and UDTs are maps. CQL maps with non-string keys are lists of key/value objects to preserve key types.

yaml
type: io.kestra.plugin.scylladb.Query

Store ScyllaDB node information

yaml
id: scylladb_query
namespace: company.team

tasks:
  - id: query
    type: io.kestra.plugin.scylladb.Query
    connection:
      contactPoints:
        - "{{ secret('SCYLLADB_HOST') }}:9042"
      localDatacenter: datacenter1
      username: "{{ secret('SCYLLADB_USERNAME') }}"
      password: "{{ secret('SCYLLADB_PASSWORD') }}"
    cql: SELECT * FROM system.local
    fetchType: STORE
    fetchSize: 1000

Query one tenant from a flow input

yaml
id: scylladb_query_by_tenant
namespace: company.team

inputs:
  - id: tenant
    type: STRING
    defaults: demo

tasks:
  - id: by_tenant
    type: io.kestra.plugin.scylladb.Query
    connection:
      contactPoints:
        - "{{ secret('SCYLLADB_HOST') }}:9042"
      localDatacenter: datacenter1
      keyspace: kestra
      username: "{{ secret('SCYLLADB_USERNAME') }}"
      password: "{{ secret('SCYLLADB_PASSWORD') }}"
    cql: SELECT id, value FROM events WHERE tenant = :tenant
    parameters:
      tenant: "{{ inputs.tenant }}"
    fetchType: FETCH
Properties

Native CQL connection settings, including contact points, local datacenter, authentication, and optional TLS.

Definitions

Native CQL connection settings rendered at task execution.

contactPoints*array
SubTypestring

Contact points

Non-empty list of hosts, host: port, or [IPv6]: port addresses. The default port is 9042.

localDatacenter*string

Local datacenter

Datacenter used by the driver's load balancing policy, for example datacenter1.

keyspacestring

Keyspace

Optional default keyspace. Omit when creating a keyspace with DDL.

keystorePasswordstring
Formatpassword

Client keystore password

Optional client keystore password. Requires keystorePath. Use a Kestra secret expression.

keystorePathstring

Client keystore path

Optional JKS client keystore path on the worker filesystem for mutual TLS. Requires TLS.

passwordstring
Formatpassword

Password

Native CQL authentication password. Use a Kestra secret expression.

requestTimeoutstring

Request timeout

Optional strictly positive CQL request timeout as an ISO-8601 duration, for example PT30S. Otherwise the driver default applies.

tlsEnabledbooleanstring
Defaultfalse

Enable TLS

Enable certificate and hostname verification. Uses JVM trust roots unless a truststore is supplied.

truststorePasswordstring
Formatpassword

Truststore password

Optional truststore password. Requires truststorePath. Use a Kestra secret expression.

truststorePathstring

Truststore path

Optional JKS truststore path on the worker filesystem. Requires TLS.

usernamestring

Username

Native CQL authentication username. Set together with password; secret expressions are supported.

CQL statement

One non-blank SELECT CQL statement. Bind dynamic values with named : name markers and parameters instead of interpolating them into the statement.

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

Driver page size

Optional positive number of rows requested per page. This is not a result limit; FETCH and STORE consume all pages. When omitted, the driver default is used.

DefaultFETCH
Possible Values
STOREFETCHFETCH_ONENONE

Result fetch mode

FETCH returns every row, FETCH_ONE returns at most one row, STORE streams every row to an Ion file in internal storage.

Bound parameters

Values for named : name markers in cql. Each value is rendered, then bound to a prepared statement using that marker's CQL type. Use this for flow inputs and upstream outputs instead of interpolating them into the statement text. Keys that are not markers of a statement are ignored.

First fetched row

Populated for FETCH_ONE; null when the result is empty.

SubTypeobject

All fetched rows

Populated for FETCH in result order, including all pages.

Number of emitted rows

Zero or one for FETCH_ONE, or the total row count for FETCH and STORE.

Formaturi

Stored result URI

Internal storage URI of the Ion file, populated for STORE.