
Azure Start
CertifiedStart a pg_durable durable function instance
Azure Start
Start a pg_durable durable function instance
Submits a pg_durable function body via SELECT df.start(func, label, database) and returns the new instance id.
type: io.kestra.plugin.azure.horizondb.durable.StartExamples
id: horizondb_durable_start
namespace: company.team
inputs:
- id: host
type: STRING
tasks:
- id: start_etl
type: io.kestra.plugin.azure.horizondb.durable.Start
host: "{{ inputs.host }}"
port: 5432
database: mydb
username: "{{ secret('HORIZONDB_USERNAME') }}"
password: "{{ secret('HORIZONDB_PASSWORD') }}"
functionBody: |
'DELETE FROM target WHERE loaded_at < now() - INTERVAL ''1 day'''
~> 'INSERT INTO target SELECT * FROM staging'
~> 'REINDEX TABLE target'
~> 'INSERT INTO etl_log (job, finished_at) VALUES (''nightly'', now())'
label: nightly-etl
Properties
database *Requiredstring
Database name
functionBody *Requiredstring
Durable function body
The pg_durable SQL DSL body describing the sequence of steps to run durably.
host *Requiredstring
HorizonDB server host
Hostname of the Azure HorizonDB server, without protocol or port (e.g. myserver.postgres.horizondb.azure.com).
clientId string
Azure client id
Used with tenantId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.
clientSecret string
Azure client secret
Used with tenantId/clientId for service principal authentication when useEntraId is true. Ignored otherwise.
label string
Instance label
Optional human-readable label attached to the instance, useful for filtering with durable.ListInstances.
password string
Password
Required unless useEntraId is true.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
port integerstring
5432HorizonDB server port
Defaults to the standard PostgreSQL port.
ssl booleanstring
trueRequire 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.
targetDatabase string
Target database
Optional database (on the same PostgreSQL cluster) that the function's SQL steps should run against. Omit to run in the extension's own database — the default HorizonDB connection's database is unaffected either way, since this only changes where df.start() executes the function's SQL, not the connection used to submit it.
tenantId string
Azure tenant id
Used with clientId/clientSecret for service principal authentication when useEntraId is true. Ignored otherwise.
useEntraId booleanstring
falseAuthenticate 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 string
Username
Required unless useEntraId is true and the Entra ID token carries the identity.
Outputs
instanceId string
Durable instance id
Identifier of the newly started pg_durable instance.