Azure Queries

Azure Queries

Certified

Execute multiple SQL statements against Azure HorizonDB

Runs a sequence of semicolon-separated SQL statements over a single JDBC connection and returns per-statement outputs in order.

yaml
type: io.kestra.plugin.azure.horizondb.Queries
yaml
id: horizondb_queries
namespace: company.team

inputs:
  - id: host
    type: STRING

tasks:
  - id: queries
    type: io.kestra.plugin.azure.horizondb.Queries
    host: "{{ inputs.host }}"
    port: 5432
    database: mydb
    username: "{{ secret('HORIZONDB_USERNAME') }}"
    password: "{{ secret('HORIZONDB_PASSWORD') }}"
    sql: |
      DELETE FROM staging WHERE loaded_at < now() - INTERVAL '1 day';
      INSERT INTO target SELECT * FROM staging;
    fetchType: NONE
Properties

Database name

HorizonDB server host

Hostname of the Azure HorizonDB server, without protocol or port (e.g. myserver.postgres.horizondb.azure.com).

SQL statements to execute

One or more SQL statements separated by semicolons, rendered with flow variables before execution and run in order over the same connection.

Azure client id

Used with tenantId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.

Azure client secret

Used with tenantId/clientId for service principal authentication when useEntraId is true. Ignored otherwise.

Default10000

JDBC fetch size

Number of rows fetched per database round trip; only used for STORE mode.

DefaultNONE
Possible Values
STOREFETCHFETCH_ONENONE

Result fetching mode

Applied uniformly to every statement in the sequence. FETCH returns all rows, FETCH_ONE returns the first row only, STORE streams rows to internal storage (ION), NONE returns no rows.

Password

Required unless useEntraId is true.

Reference (ref) of the pluginDefaults to apply to this task.

Default5432

HorizonDB server port

Defaults to the standard PostgreSQL port.

Defaulttrue

Require TLS

When true (the default), the connection is rejected unless it is encrypted (sslmode=require). Set to false only for local development against a non-TLS instance.

Azure tenant id

Used with clientId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.

Defaultfalse

Authenticate with Azure Entra ID

When true, authenticates using Azure Entra ID (via the Azure Identity Extensions JDBC plugin) instead of a static password. With no further properties set, this falls back to whatever DefaultAzureCredential resolves on the worker (managed identity, environment variables, Azure CLI login, etc.); set tenantId/clientId/clientSecret below to authenticate as a specific service principal instead.

Username

Required unless useEntraId is true and the Entra ID token carries the identity.

Per-statement outputs

One entry per executed statement, in order.

Definitions
rowobject

First row of fetched data

Only populated when fetchType is FETCH_ONE.

rowsarray
SubTypeobject

All fetched rows

Only populated when fetchType is FETCH.

sizeinteger

Number of rows fetched or stored

Populated when fetchType is FETCH, FETCH_ONE, or STORE.

updateCountinteger

Rows affected

Populated when the statement did not return a result set (e.g. INSERT, UPDATE, DELETE, DDL).

uristring
Formaturi

URI of stored results in internal storage

Only populated when fetchType is STORE; stored using ION format.

Unitrows

The number of fetched or stored rows, emitted once per statement that returns a result set.